Help! Thanks

DR_eslam

Awesome Active Platinian
Original poster
May 20, 2022
110
25
18
21
Egypt
What is the different between Normal Offset (Offset 0xE404B0) and the One like 0×28 ...... And Bothe could be modified by same method?
 

sdaslk;dksd

Solid & Active Platinian
Apr 8, 2022
50
42
18
24
U.S.A
the first one is a normal offset, it can be hooked or patched, but the second one is a field one, and it can be modified with an update offset (that means hooking)
 

NotALegitGuy

Solid & Active Platinian
Sep 24, 2018
69
67
18
Costa Rica
What is the different between Normal Offset (Offset 0xE404B0) and the One like 0×28 ...... And Bothe could be modified by same method?
The normal offset is a location in the memory, it can be a global variable, a function, or just a location inside a function.

In most cases in modding it is a function which you can point to ( Function Pointers ) or hook.

The ones like 0x28 are fields, they usually are found inside structures or classes, the way you use them is you get an instance of the structure/class such as the first parameter of an update function for example, then you dereference the instance plus the offset and you got the value of it, you can then just save it or change it.
Better example in code:

C:
// Inst is the class of this update function.
void hkupdate(void* inst){
   if (inst){ // if the instance exists
      // dereference it to get the value, then we change it to a 1
      *(int*)((std::uint64_t)inst + 0x28) = 1;
   }
   oupdate(inst);
}
This is a really basic explanation but if you wanna go more in depth into this then learn how memory works
 

DR_eslam

Awesome Active Platinian
Original poster
May 20, 2022
110
25
18
21
Egypt
The normal offset is a location in the memory, it can be a global variable, a function, or just a location inside a function.

In most cases in modding it is a function which you can point to ( Function Pointers ) or hook.

The ones like 0x28 are fields, they usually are found inside structures or classes, the way you use them is you get an instance of the structure/class such as the first parameter of an update function for example, then you dereference the instance plus the offset and you got the value of it, you can then just save it or change it.
Better example in code:

C:
// Inst is the class of this update function.
void hkupdate(void* inst){
   if (inst){ // if the instance exists
      // dereference it to get the value, then we change it to a 1
      *(int*)((std::uint64_t)inst + 0x28) = 1;
   }
   oupdate(inst);
}
This is a really basic explanation but if you wanna go more in depth into this then learn how memory works
Thanks a lot

I figure it out.... But the game is may be fully server sided with well protection... As it crashes with each modification😃
 

sdaslk;dksd

Solid & Active Platinian
Apr 8, 2022
50
42
18
24
U.S.A
Thanks a lot

I figure it out.... But the game is may be fully server sided with well protection... As it crashes with each modification😃
it could be signature verification, witch you can kill it with np manager, lucky patcher, mt manager (or mt vip), apk analyser+, or some anti cheats located in the dump.cs