Jump to content

asdasdadsadsd

Member
  • Posts

    32
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

asdasdadsadsd's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. whatt about armv7 how can i hack it with gdb is the same steps?
  2. i made a program that give you all the useful functions that you can hack in your game
  3. what are those used for or what is the purpose of it ??! Force Int or Float into a field: C# //float private void setFieldF() { fieldF = 1000F; } public float fieldF; //int private void setFieldI() { fieldI = 1000; } public int fieldI; Force Int or Float into a field: IDA Arm Get your field offset from your generated dump.cs from Il2CppDumper by Prefare. //float field MOV R1, #0x447A STR R1, [R0,#0x10] // replace "0x10" with your field offset inside of dump.cs BX LR hex -> 7A 14 04 E3 10 10 80 E5 1E FF 2F E1 //int field MOV R1, #1000 STR R1, [R0,#0x14] // replace "0x14" with your field offset inside of dump.cs BX LR hex -> FA 1F A0 E3 14 10 80 E5 1E FF 2F E1 Force Return with Parameters: C# // 1 Parameter private string Param1(string one) { return one; } //2 Parameters private int Param2(int one, int two) { return two; } //3 Parameters private int Param2(float one, float two, float three) { return three; } Force Return with Parameters: IDA Arm It does not matter if the function is string, int, or float, if the function is the same type as the parameter then it will be the same arm code regardless. //1 Parameter MOV R0, R1 BX LR hex -> 01 00 A0 E1 1E FF 2F E1 //2 Parameters MOV R0, R2 BX LR hex -> 02 00 A0 E1 1E FF 2F E1 //3 Parameters MOV R0, R3 BX LR hex -> 03 00 A0 E1 1E FF 2F E1 //if the function has more than 3 parameters then reolace the second "R" with said parameter number Example: 7 Parameters MOV R0, R7 BX LR hex -> 07 00 A0 E1 1E FF 2F E1 Example: 5 Parameters MOV R0, R5 BX LR hex -> 05 00 A0 E1 1E FF 2F E1 Force end an IEnumertor/IEnumerable: C# private IEnumerator setYielEnumerator() { yield break; } private IEnumerable setYieldEnumerable() { yield break; } Force end an IEnumertor/IEnumerable: IDA Arm Using BX LR to end an IEnumertor or IEnumerable is wrong. Go to dump.cs and find the IEnumertor or IEnumerable function Say for example dump.cs says this private IEnumerator setYielEnumerator(); // 0xOFFSET or private IEnumerable setYieldEnumerable(); // 0xOFFSET Find the "sealed class" that has the function name in the class name Example // Namespace: private sealed class <setYielEnumerator>c__Iterator0 : IEnumerator, IDisposable, IEnumerator`1<object> // TypeDefIndex: 1446 { // Fields internal object $current; // 0x8 internal bool $disposing; // 0xC internal int $PC; // 0x10 // Methods public void .ctor(); // 0xOFFSET public bool MoveNext(); // 0xOFFSET private object System.Collections.Generic.IEnumerator<object>.get_Current(); // 0xOFFSET private object System.Collections.IEnumerator.get_Current(); // 0xOFFSET public void Dispose(); // 0xOFFSET public void Reset(); // 0xOFFSET } // Namespace: private sealed class <setYieldEnumerable>c__Iterator1 : IEnumerable, IEnumerable`1<object>, IEnumerator, IDisposable, IEnumerator`1<object> // TypeDefIndex: 1447 { // Fields internal object $current; // 0x8 internal bool $disposing; // 0xC internal int $PC; // 0x10 // Methods public void .ctor(); // 0xOFFSET public bool MoveNext(); // 0xOFFSET private object System.Collections.Generic.IEnumerator<object>.get_Current(); // 0xOFFSET private object System.Collections.IEnumerator.get_Current(); // 0xOFFSET public void Dispose(); // 0xOFFSET public void Reset(); // 0xOFFSET private IEnumerator System.Collections.IEnumerable.GetEnumerator(); // 0xOFFSET private IEnumerator`1<object> System.Collections.Generic.IEnumerable<object>.GetEnumerator(); // 0xOFFSET } Go to the offset of MoveNext() public bool MoveNext(); // 0xOFFSET And write this in hex editor MOV R1, #0xFFFFFFFF STR R1, [R0,#0x10] MOV R0, #0 BX LR hex -> 00 10 E0 E3 10 10 80 E5 00 00 A0 E3 1E FF 2F E1 //same hex for both IEnumertor and IEnumerable
  4. is he means that in dnspy any void func we can convert it to any other type like int float?! Force Int or Float into a field: C# //float private void setFieldF() { fieldF = 1000F; } public float fieldF; //int private void setFieldI() { fieldI = 1000; } public int fieldI;
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines