| View previous topic :: View next topic |
| Author |
Message |
ew1075 How do I cheat?
Reputation: 0
Joined: 29 Jul 2006 Posts: 5
|
Posted: Tue Aug 01, 2006 12:48 am Post subject: Need help with code. |
|
|
Ok, I'm going to try to explain this as clear as possible. Bear with me.
I'm using the Pinball tutorial to try to overcome some Dynamically Allocated Memory. I have gotten to the part where you look at the address which writes to the code. You click more info, then find the pointer address. You are also supposed to find the "offset". In the pinball example, the offset can be found by looking at this line:
01015F02 - mov [ esi + 00000146 ],eax
ESI is the memory address, and 146 is the offset.
My problem is I cannot find an offset with my game. I have the memory address, but my code looks a little bit different. I'm posting a screenshot so you can see exactly what I see.
If you have any ideas what this offset may be, please let me know.
Thanks
|
|
| Back to top |
|
 |
Glest Master Cheater
Reputation: 0
Joined: 12 Jul 2006 Posts: 334 Location: The Netherlands
|
Posted: Tue Aug 01, 2006 1:10 am Post subject: |
|
|
I don't wanne say duh, but.. DUH, the offset is 0
_________________
|
|
| Back to top |
|
 |
ew1075 How do I cheat?
Reputation: 0
Joined: 29 Jul 2006 Posts: 5
|
Posted: Tue Aug 01, 2006 1:16 am Post subject: |
|
|
Ok, sorry for the dumb questions, I am very new at this.
I think I am starting to get this to work. I get the pointer added in manually, with 0 as the offset, and it works right away. It looks like the image below (this is before a restart of the game). The highlighted address is the one I found the pointer for, and the address below it is where I added the pointer.
After I restart the game, and load the cheats back up, the pointer no longer works for the value I am wanting to change. I either get question marks, or some really long value that I have no idea what it does.
I thought the purpose of finding the pointer was so that it would work every time you restart the game? The game I am playing is FEAR. Is it possible they used something more advanced than Dynamic Memory Allocation?
|
|
| Back to top |
|
 |
Glest Master Cheater
Reputation: 0
Joined: 12 Jul 2006 Posts: 334 Location: The Netherlands
|
Posted: Tue Aug 01, 2006 6:09 am Post subject: |
|
|
dunno, never tried fear. But maybe you can find a pointer to the pointer. Just find anything that acces the pointer (the pointer, not the value pointed to) and do the same as before.
To add it to your table: at the "add adress manually" window, click the button "add pointer" to make a pointer to a pointer. Maybe you have to repeat this a lot until you got a static pointer.
_________________
|
|
| Back to top |
|
 |
ew1075 How do I cheat?
Reputation: 0
Joined: 29 Jul 2006 Posts: 5
|
Posted: Thu Aug 03, 2006 12:09 am Post subject: |
|
|
| Hrmm, I'm not having any luck with FEAR. I tried looking for more pointers and I never got anywhere. I've experimented every way that I know how. If anybody knows how to find the pointers in FEAR please let me know, thanks.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25833 Location: The netherlands
|
Posted: Thu Aug 03, 2006 7:19 am Post subject: |
|
|
I havn't really bothered with pointers when playing fear, but it should be possible.
Just multiple levels of pointers....
anyhow, I did cheat on fear, the very first version that is, and this is a auto assemble script for invulnerability:
| Code: |
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
ObjectDLLSetup+14541:
jmp newmem
nop
returnhere:
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
push eax
mov eax,[esi+6dc]
mov [esi+6e0],eax
pop eax
fcomp dword ptr [esi+000006e0]
exit:
jmp returnhere
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
ObjectDLLSetup+14541:
fcomp dword ptr [esi+000006e0]
|
and this is a script for infinite ammo.
Turn this off when picking up new weapons else you'll get 0 ammo for that weapon
| Code: |
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
getbuildnumber-706e7:
nop
nop
nop
ObjectDLLSetup-57C80:
nop
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
getbuildnumber-706e7:
mov [eax+edx*4],ecx
ObjectDLLSetup-57C80:
dec edx
|
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
|