View previous topic :: View next topic |
Author |
Message |
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Thu Jul 02, 2015 10:58 am Post subject: |
|
|
Inject your own code at that location and first perform your own check to see if the register equals the value it should when your address is touched. If not, jump to the standard code. Otherwise, perform a NOP.
Then set your breakpoint on the NOP that only executes when it is your address.
|
|
Back to top |
|
|
STN I post too much Reputation: 42
Joined: 09 Nov 2005 Posts: 2672
|
Posted: Thu Jul 02, 2015 11:27 am Post subject: |
|
|
Learn something called Code Injection. Then write a script to write your desired value.
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Jul 02, 2015 12:19 pm Post subject: |
|
|
pause the game (using ce's pause button)
Go to the address in the hexview of memory view
Select the bytes that make up the value, rightclick, data breakpoint, break on write
go to view->breakpointlist and rightclick the new breakpoint and set it to be a conditional breakpoint.
In there do something like readInteger(0xaddress)==valueyouwish (this works because find what accesses/writes break after execution)
then resume the game
Now when that specific value is written CE will instantly break the game and then you can do what you wish (if it's fullscreen you'll be fucked)
(You can also use the normal find what writes feature of CE, just suspend the process first, use the option, and set the condition using the breakpointlist)
_________________
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 |
|
|
fronus How do I cheat? Reputation: 0
Joined: 02 Jul 2015 Posts: 2
|
Posted: Thu Jul 02, 2015 1:28 pm Post subject: |
|
|
Dark Byte, first of all thank you for reply. Now what about debugging.
So I pause the process using F11 hotkey then setting breakpoint on 4 bytes. After that I go View -> Breakpointlist -> My breakpoint -> Set / change condition -> Complex and set it to 'readInteger(0x0C7A9168)==0x00000007' but when I resume the game, breakpoint doesn't work. Game just begins lagging a bit. I also tried 'readInteger(0x0C7A9168)==0' and readInteger(0x0C7A9168)==0x00000000' but no result. The same thing with "Find what writes" feature: values are changing in memory view and I even see 00 00 00 00 value but the list is still empty. Don't know what I am doing wrong.
Last edited by fronus on Thu Jul 02, 2015 11:56 pm; edited 1 time in total |
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Jul 02, 2015 2:08 pm Post subject: |
|
|
If you input it like that you must set it to simple. Complex requires you to manually return true/false depending on the state (no return is nil which is handled as false)
So, use simple, or change it to 'return readInteger(0x0c7a9168)==0'
_________________
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 |
|
|
|