I know 1= on, 0=off, and understand the concept of JMP,NOP, not so much EAX, CMP, LEA.
1 = True, 0 = False or visa versa.
EAX and the following are registers that hold values, some of them could be address's or other things that will them be put into the Assembly Code. You need to create a breakpoint to find the values of EAX ect.
Side note:
64 bit users will get even more confused when you breakpoint into a float. There is 8 more registers added, xmm0 to xmm8. These then work with EAX ect to put the assembly code to work.
If you look at this code I posted a long time ago: (TUTORIAL TIME)
00582C47 = movss [eax+edi*4],xmm0
In this, I have found the address that edits your health. Now to work on it. First I made a breakpoint on the address and found this>
EAX = Your base health.
EDI = A intiger between 0 and 4.
xmm0 = The number your health is edited with.
Thing is, there is 5 health address's, if not more. One for each arm and leg, one for your overall health, one for your body armour, the list goes on. Thing is, they are all 4 away from your base health, of the EAX register.
So, if EDI is 1, the end address is EAX + 4. If EDI is 2, the end address is EAX + 8.
This means that:
EDI is edited for what part of you is hurt, arm, leg ect.
It is added to EAX, which is the address for your base health.
It then edits the final address with xmm0, or the number it will then be.
Side Notes:
Why xmm0? I have 64bit, and this complicates it a little. If you feel brave, google it.
How to find this yourself:
Download and install a beta patch to begin with, the latest version.
Load a PBO with debugging features.
Start Arma 2 or OA, then go into the editor.
Add a simple character down, then start it up.
In your debugger, set your health to 0.1212. Then do a float search for 0.1212.
Go back to arma 2, and set your health to 0.1234. Then do a float search for 0.1234.
Rinse and repeat untill you have 4 addresses, all changing when you edit this.
Add them all to your cheat table.
Now for the debugging.
Attach your debugger, and then search for the address that changes your findings. Then go hurt yourself, NOT ussing your PBO but actual ingame things, IE getting shot or falling.
When you get a finding, open it up in your memory editor.
The address's assembly code should loook similar to the one posted above, just with a different address.
Put a breakpoint on this bit of code, then go hurt yourself again. When you do, the game should freeze and your breakpoint should give you a lot of address's for EAX ect.
EAX should be the base address of your health.
EDI should be a number between 1 and 5.
xmm0 (You need to open something else to see this) should be the number your health just got edited to.
There you have it. NOP that address, and you have a working health hack.