View previous topic :: View next topic |
Author |
Message |
sjl002 Master Cheater
Reputation: 0
Joined: 31 Aug 2013 Posts: 305
|
Posted: Sun Sep 13, 2015 11:57 pm Post subject: What is the eax,ebx,...? |
|
|
What is the eax in auto assembler.
What is the number for eax
in What codes There are application
|
|
Back to top |
|
 |
STN I post too much
Reputation: 43
Joined: 09 Nov 2005 Posts: 2676
|
|
Back to top |
|
 |
sjl002 Master Cheater
Reputation: 0
Joined: 31 Aug 2013 Posts: 305
|
Posted: Mon Sep 14, 2015 1:15 am Post subject: |
|
|
What is this code work.
mov [pPlayer],eax
movzx ebx,byte ptr [eax+28]
mov [iID],ebx
|
|
Back to top |
|
 |
Rydian Grandmaster Cheater Supreme
Reputation: 31
Joined: 17 Sep 2012 Posts: 1358
|
Posted: Mon Sep 14, 2015 3:42 am Post subject: |
|
|
eax and such are registers, you can think of them as very very simplistic variable names.
You should probably learn some basic programming stuff first if you want to get more into it.
_________________
|
|
Back to top |
|
 |
Snow1337 Catastrophic Cheatah
Reputation: 1
Joined: 12 Oct 2004 Posts: 183 Location: Your, Computer
|
Posted: Mon Sep 14, 2015 5:10 am Post subject: |
|
|
sjl002 wrote: | What is this code work.
mov [pPlayer],eax
movzx ebx,byte ptr [eax+28]
mov [iID],ebx |
It moves the value of eax into pPlayer, which the value of eax was specified above this then a byte pointer with Zero Extend into ebx
movzx - Copies the contents of the source operand (register or memory location) to the destination operand (register) and zero extends the value to 16 or 32 bits. The size of the converted value depends on the operand-size attribute.
Then moves that pointer into iID
Registers are predefined in the code above where you are looking..
It is moving a pointer into a iID, what iID is, is beyond me.. some part of the player data structure, the pointer could be health, ammo, speed.. anything.. try editing it with
mov ebx, 0A
see what increases by 10
_________________
|
|
Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8585 Location: 127.0.0.1
|
|
Back to top |
|
 |
STN I post too much
Reputation: 43
Joined: 09 Nov 2005 Posts: 2676
|
Posted: Tue Sep 15, 2015 6:00 am Post subject: |
|
|
Thanks, will link to that from now on
_________________
|
|
Back to top |
|
 |
gir489 Grandmaster Cheater
Reputation: 14
Joined: 03 Jan 2012 Posts: 841 Location: Maryland, United States
|
Posted: Wed Sep 16, 2015 8:45 am Post subject: |
|
|
They used to serve a greater nomenclature back in the day. Now the compiler just uses whatever register is available.
Just use whatever register is blank at the time of injection. Obviously registers like EIP/ESP should not be blank. EBP might be sometimes if /Oy is turned on.
Last edited by gir489 on Wed Sep 16, 2015 10:17 am; edited 1 time in total |
|
Back to top |
|
 |
Rydian Grandmaster Cheater Supreme
Reputation: 31
Joined: 17 Sep 2012 Posts: 1358
|
Posted: Wed Sep 16, 2015 9:32 am Post subject: |
|
|
If you need the use of a register and you're not sure what's free, you could push/pop.
push ebx //Store ebx on the stack.
mov ebx,[eax+20] //Move something into the now-"free" ebx.
mov [eax+10],ebx //Move that ebx value into something else.
pop ebx //Restore the saved value of ebx from the stack.
_________________
|
|
Back to top |
|
 |
|