What does this Assembly code do?

Asked

Viewed 401 times

1

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

By tracking the game values in RAM memory through the Cheat Engine functions, I found the memory addresses where the player’s experience values are stored. Changing them does not give any result, moreover the values only change in these addresses a few seconds after the value of the player’s experience is added in the game.

However, the Cheat Engine lets you know what runs on that memory address, or rather what code in Assembly writes what to that address.

In that case, the code is:

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]

EAX=000000C8
EBX=3230DAD0
ECX=0271EFB8
EDX=32BA0944
ESI=0271F098
EDI=00000001
ESP=0271EFA0
EBP=0271EFBC
EIP=01089EB0

If anyone can interpret I would be happy. But know that it is just a joke really, I do not intend anything serious with this.

1 answer

6


This is Assembly x86 written in Intel syntax. There are many references on the internet to learn the basics, it won’t be hard to find.

In a very practical way:

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

Browser other questions tagged

You are not signed in. Login or sign up in order to post.