This is the address that my life is stored to. But changing this results in it to reset to add [eax+000043ab],al.
Now what I've been thinking of doing is instituting a conditional jump, in which if edi = 08553160, and if it does, set the value to a set value, to cause the true infinite life effect. Does this sound right? if so, how would I code the edi conditional jump inside my code cave.
Thanks for the help Dabs... Your guidance has put me on the path to understand ASM and SSE better. But one thing that I don't really understand is Conditional Jumps.
Help would be appreciated :]
Ok, so I want to use a condition jump if edi is equal to 08553160. I'm going to look at the tuts more and see if there is a way to do it.
[Edited by Sil3nt_Pr0digy, 3/21/2010 8:09:56 PM]
My bad... I realized that it won't work because the address I was seeing (8553160) was a DMA address for health; not what I was looking for... Damn it... isn't there some other way to sort out the player's health?
BTW, I got my conditional jump working... now if I just knew what to put in it...
Ok... So I have everything I need to get the Infinite Health Working; Except the ability to tell which value controls my health.
This would be so much easier if I could find an example of infinite health in which a game has similar functions for health.
Ok... Still having problems separating the codes... how does everyone else do this? lol, There obviously have to be some way for me to do it because others have done it.... I just wish someone would tell me how and finally let me know.
The pointer you found was for the player/NPC structure.
You will have to check with each structure to see if there is a difference at the start of each. Most of the time, the first byte could be a 01 and for NPC's 00.
If that is the case, then you could do something like
PUSH EAX << Save content of register for later MOV EAX, [Pointeraddress] -- Move address into EAX CMP [EAX+xx],01 - compare the memory location + offset to the check byte with 1 JNE xxxxxx - Jump if not equal - i.e. Jump if not player MOV [EAX+xx],64 - Force decimal value of 100 into player health (xx being the offset for health) XOR EAX,EAX - This effectivaly makes EAX 0 POP EAX - Put back the original value. JMP xxxxxx - Jump back to game. POP EAX - Put back to original value - also this is where JNE jumps to (Place back original instructions here for NPC) JMP xxxxxx - Jump back to game
That was just an example, dont have the game your using so its just an idea of how it works
EDIT: When I said [Pointeraddress] I mean the register+offset not the actual value
[Edited by DABhand, 3/22/2010 4:12:53 AM]
--------------------------------------------------------------------------- Great site for new games with constant deals