What does this assembly code do?


I'm playing with the Cheat Engine in a MMO RPG game.

Following the game's values in RAM through the functions of the Cheat Engine, I found the memory addresses where the player's experience values are stored. Changing them does not work, and values only change at those addresses a few seconds after the player's experience value is added to the game.

However, Cheat Engine lets you know what is running on that memory address, or rather, what assembly code writes what at that address.

In this case, the code is this:

01089EA7 - 8B 40 18  - mov eax,[eax+18]
01089EAA - 8D 4D FC  - lea ecx,[ebp-04]
01089EAD - 89 43 44  - mov [ebx+44],eax <<
01089EB0 - E8 62F2FFFF - call dro_client.exe+49117
01089EB5 - 8B 40 1C  - mov eax,[eax+1C]


If anyone can interpret I would be happy. But know it's just a joke, I do not mean anything serious about it.

asked by anonymous 16.10.2015 / 23:06

1 answer


This is x86 assembly written in the Intel syntax. There are many references on the internet to learn the basics, it will not be hard to find.

In a very practical way:

  • mov X,[Y] : Write in X what is in the address memory Y.
  • mov [X],Y : Write in the X address memory what is in Y.
  • lea X,[Y] : Makes X = Y.
  • call AAA : Calls the function at address AAA.
06.12.2015 / 14:05