View previous topic :: View next topic |
Author |
Message |
levis Newbie cheater Reputation: 0
Joined: 30 Nov 2005 Posts: 24
|
Posted: Fri Dec 02, 2005 7:34 am Post subject: |
|
|
Dark Byte wrote: |
And about that assembler script:
you are changing the memory at [ecx] to 153
|
do u mean i should put "mov [ecx], 153" ?
btw when i do this code, it works well for a certain period of time
i can "activate" the code on and off, but sometimes my whole program will juz close.. any idea why? is it cos my script is not efficient and something is causing some memory overflow somewhere?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Dec 02, 2005 9:10 am Post subject: |
|
|
no, if you want to write the decimal value of 99, use the hexadecimal value of 63
and it may crash if the instruction being changed was being executed at that moment
_________________
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 |
|
|
levis Newbie cheater Reputation: 0
Joined: 30 Nov 2005 Posts: 24
|
Posted: Fri Dec 02, 2005 10:40 am Post subject: |
|
|
with reference to my code snipet...
the program crashes becos execution during the change of instruction, as u say..
could it be becos i changed the eax to 99 at 004001d5, and then during execution, somewhere along the line when i "off" the script, when it goes back to 004001C5, the eax is at its wrong value, causing some error exception... ?
come to think of it, when i modify registers eax to 99 (using the "change register at this address" option), to revert back to original, i just have to uncheck the eax checkbox... however when i directly change opcode, how is it possible to revert the value of eax back to its original (using opcodes?)
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Dec 02, 2005 11:01 am Post subject: |
|
|
one way it can go wrong is when the "mov [ecx],eax" instruction has been written back and it gets executed, but the jmp hasn't been written back yet.
it will then start running random data after it and eventually crash
_________________
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 |
|
|
levis Newbie cheater Reputation: 0
Joined: 30 Nov 2005 Posts: 24
|
Posted: Fri Dec 02, 2005 11:07 am Post subject: |
|
|
any suggestion on how to counter this? or a better way to improve those codes..
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Dec 02, 2005 11:16 am Post subject: |
|
|
The problem only happens when that code is being executed. so make it that you are not executing that code when you press the hotkey for that option
Usually I would pause the game, then replace and resume, but I doubt thats a viable option in your case.
try in the enable part:
Code: |
004001C5:
jmp 004001D5
00400500:
mov [ecx],eax
jmp 0042b177
|
and in the disable part
Code: |
004001C5:
jmp 00400500
|
this causes to only change the jmp slightly when disabled, but causes the original code to be executed
actually, the
00400500:
mov [ecx],eax
jmp 0042b177
can also be placed in the disable code part before the '004001c5:' line, bit because enable always egts executed first, I prefer using that to initialize caves like that
_________________
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 |
|
|
levis Newbie cheater Reputation: 0
Joined: 30 Nov 2005 Posts: 24
|
Posted: Fri Dec 02, 2005 11:57 am Post subject: |
|
|
hey darkbyte, u've been a great help..
now i implemented the method and it works fine.. at least it didnt crash out for the past 20mins or so.. and hopefully it wont ever.. lol
u're great.. thank you~!
|
|
Back to top |
|
|
levis Newbie cheater Reputation: 0
Joined: 30 Nov 2005 Posts: 24
|
Posted: Fri Dec 02, 2005 12:03 pm Post subject: |
|
|
ic.. the usage of cmp.. i nv thought of that though...
kk i'll try both method and see whichever works out better..
3 thumbs up ~!
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Fri Dec 02, 2005 12:09 pm Post subject: |
|
|
your post looks weird here, but thats because I deleted my old post because one slight bug in the fullaccess line (I forgot the ,4 and ce doesn't give a error notification when you forget it, and I didn't even need it...)
anyhow, this was the other code I posted (fixed)
Code: |
[ENABLE]
00400500:
dd 1 //write a 1 at 00400500
00400504:
cmp [00400500],1
je 00400600
mov [ecx],eax
jmp 0042b177
00400600:
mov [ecx],99
jmp 0042b177
[DISABLE]
00400500:
dd 0 //write a 0 at 00400500
|
(and the comment that 004001C5 is just too close to the header is still valid, ce crashes after a while if I put code there, I prefer 00400500)
_________________
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 |
|
|
|