View previous topic :: View next topic |
Author |
Message |
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Sun Mar 11, 2012 2:49 am Post subject: Lua breakpoint? |
|
|
I want to set breakpoint at 0040CEA6
0040CEA6 - 89 50 04 - mov [eax+04],edx
I did these but not working. What Am I doing Wrong?
Code: |
function debugger_onBreakpoint()
local value=EAX
if (value ==0x0C93E004 ) then
return 0
else
return 1
end
end
debug_setBreakpoint(0x0040CEA6) |
And also this please.
http://forum.cheatengine.org/viewtopic.php?t=549228
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sun Mar 11, 2012 1:15 pm Post subject: |
|
|
define what you mean with "not working"
Doesn't it break or does it break every single time even when it shouldn't?
Anyhow, make sure the process is being debugged when debug_setBreakpoint is executed
_________________
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 |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8516 Location: 127.0.0.1
|
Posted: Sun Mar 11, 2012 2:46 pm Post subject: |
|
|
Make sure that CE is attached to debug or the breakpoint wont get used.
Try adding a call to debugProcess in your script just in case.
_________________
- Retired. |
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Sun Mar 11, 2012 3:20 pm Post subject: |
|
|
@DB
It never breaks. When I use lua. Otherwise when I use
EAX== Oxaddress in simple conditional break ,it breaks.
@Wiccaan
Make sure that CE is attached to debug or the breakpoint wont get used.
Is attached to debug? I do not get it.
I just executed the script and thought that it will break when EAX== my given address.
Doesn't it work that way?
How to attach to debug if I do not want to use debug process? Should I manually set the breakpoint? I am not getting it.
_________________
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8516 Location: 127.0.0.1
|
Posted: Sun Mar 11, 2012 3:57 pm Post subject: |
|
|
You can't handle breakpoints if you aren't going to attach to the process to debug it. You need to attach to it. You can ignore all the breakpoints except the one you want which should allow the game to run fine without even noticing its being debugged. (Depending on if the game has any protections etc.)
_________________
- Retired. |
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Thu Mar 15, 2012 10:26 am Post subject: |
|
|
Code: | function debugger_onBreakpoint()
if(readInteger("[EDI+04]")>= 10000 and readInteger("[EDI+04]")<=11000) then
print("hello hacking")
return 0
else
return 1
end
end
debug_setBreakpoint(0x0040CE7D) |
Why it is breaking at 0x0040CE7D for any arbitary value of [edi+04]?
I also tried hexadecimal values like 0x2710 instead of 10000 and 0x2AF8 instead of 11000.
For example it also breaks when [EDI+04] equals FFFFFFFF or 116301
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Mar 15, 2012 3:38 pm Post subject: |
|
|
Code: |
if(readInteger("[EDI+04]")>= 10000 and readInteger("[EDI+04]")<=11000) then
|
Will raise an error because the symbolhandler does not know the value of EDI in this context
And because the result is not 1 but an undefined value, it will break
EDI is a numerical value of EDI and not a string, so you can do calculations on it.
so try this: readInteger(EDI+4)
_________________
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 |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Thu Mar 15, 2012 4:36 pm Post subject: |
|
|
And What to do for this situation
[[edi+edx*8-08]+4]
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Thu Mar 15, 2012 5:09 pm Post subject: |
|
|
readInteger(readInteger(EDI+EDX*8-8)+4)
_________________
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 |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Thu Mar 15, 2012 5:57 pm Post subject: |
|
|
Thank You very much
_________________
|
|
Back to top |
|
|
eorenmh How do I cheat? Reputation: 0
Joined: 07 May 2012 Posts: 4
|
Posted: Tue May 08, 2012 9:31 pm Post subject: |
|
|
Freiza wrote: | Code: | function debugger_onBreakpoint()
if(readInteger("[EDI+04]")>= 10000 and readInteger("[EDI+04]")<=11000) then
print("hello hacking")
return 0
else
return 1
end
end
debug_setBreakpoint(0x0040CE7D) |
Why it is breaking at 0x0040CE7D for any arbitary value of [edi+04]?
I also tried hexadecimal values like 0x2710 instead of 10000 and 0x2AF8 instead of 11000.
For example it also breaks when [EDI+04] equals FFFFFFFF or 116301 |
hi, i'm a beginner in this debugging process, and i wonder where could i set conditional breakpoint in CE?
already ctrl+B and a window pop up, and i dont understand what to do next
thank you in advance
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Wed May 09, 2012 12:40 am Post subject: |
|
|
Ctrl+L in Dissembler view. And Paste the Lua code and press execute. ( You need to learn Lua.)
Or for simple breakpoint condition.
1) Set a breakpoint
2) Right click on the code and
3) Set/change break condition.
4) Choose easy
In the following textbox write one line condition.
For example:-
EAX==0x12345678 (Case sensitive and Hexadecimal starts with 0x).
_________________
|
|
Back to top |
|
|
eorenmh How do I cheat? Reputation: 0
Joined: 07 May 2012 Posts: 4
|
Posted: Wed May 09, 2012 2:43 am Post subject: |
|
|
Freiza wrote: | Ctrl+L in Dissembler view. And Paste the Lua code and press execute. ( You need to learn Lua.)
Or for simple breakpoint condition.
1) Set a breakpoint
2) Right click on the code and
3) Set/change break condition.
4) Choose easy
In the following textbox write one line condition.
For example:-
EAX==0x12345678 (Case sensitive and Hexadecimal starts with 0x). |
hi freiza
thanks for your reply
ok i already do that, by set breakpoint (still dont understand much of LUA)
but seems breakpoint doesnt work while it should be
example : EDI==0x01599904
also, how could i set several conditions?
example EDI==0x01599904 Or ESI==0x0E2B00B4 Or <another conditions> Or etc...
thank you again
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Wed May 09, 2012 4:22 am Post subject: |
|
|
eorenmh wrote: | example : EDI==0x01599904 |
This code is fine. It should work well.
eorenmh wrote: | example EDI==0x01599904 Or ESI==0x0E2B00B4 Or <another conditions> Or etc... |
EDI==0x01599904 or ESI==0x0E2B00B4 or EAX==0x2
like this.
But If you want to do it in lua then just copy paste the code below to lua engine (Ctrl+L) and press execute.
And yes modify the address according to your need.
Code: | debugProcess() -- Attach Debugger to the process.
function debugger_onBreakpoint()
if(EDI==0x01599904 ESI==0x0E2B00B4 or EAX==0x2) then
return 0 --Break
else
return 1 --Not Break
end
end
debug_setBreakpoint(0x0042276B) -- Address where to set breakpoint |
_________________
|
|
Back to top |
|
|
eorenmh How do I cheat? Reputation: 0
Joined: 07 May 2012 Posts: 4
|
Posted: Wed May 09, 2012 6:27 am Post subject: |
|
|
Freiza wrote: | eorenmh wrote: | example : EDI==0x01599904 |
This code is fine. It should work well.
eorenmh wrote: | example EDI==0x01599904 Or ESI==0x0E2B00B4 Or <another conditions> Or etc... |
EDI==0x01599904 or ESI==0x0E2B00B4 or EAX==0x2
like this.
But If you want to do it in lua then just copy paste the code below to lua engine (Ctrl+L) and press execute.
And yes modify the address according to your need.
Code: | debugProcess() -- Attach Debugger to the process.
function debugger_onBreakpoint()
if(EDI==0x01599904 ESI==0x0E2B00B4 or EAX==0x2) then
return 0 --Break
else
return 1 --Not Break
end
end
debug_setBreakpoint(0x0042276B) -- Address where to set breakpoint |
|
waw thank you
your a savior
already could do that
and now im courious how to set BP on readfile procedure, or writefile?
thank you again
|
|
Back to top |
|
|
|