06-17-2009, 09:31 PM
Note: this info is preliminar and not a 100% fact (yet)
Its possible to use a debugger to see how matrix works. It doesnt work in the end when ya need to see a full login example, because it stops randomly and doesnt go-on or make a jump to innaccesible memory addresses.
Just why and how?
Answer to the first part is obvious: self protect code
To the second part: looks like it got some antidebugger code just as follows:
Object "CLTEvilBlockingLoginObserver"
--> Method "WaitForEvent()"
Apart from the "evil" tag, if we search info about "WaitForEvent()" on c++ in google, we can see that method waits for an event (internal or not) to stop waiting and go-on. this could be done infinitely and just f... stops your debugger.
UPDATE:
As it was in some ways guessed, MxO client got anti-debugging meassures to assure itself that there is no one trying to reach its internal code.
This meassures can be bypassed using standard and public available plugins that make a masquerade to the debuggers on the market.
Using this method provides a full login sequence till world server, even debugging when playing.
Its possible to use a debugger to see how matrix works. It doesnt work in the end when ya need to see a full login example, because it stops randomly and doesnt go-on or make a jump to innaccesible memory addresses.
Just why and how?
Answer to the first part is obvious: self protect code
To the second part: looks like it got some antidebugger code just as follows:
Object "CLTEvilBlockingLoginObserver"
--> Method "WaitForEvent()"
Apart from the "evil" tag, if we search info about "WaitForEvent()" on c++ in google, we can see that method waits for an event (internal or not) to stop waiting and go-on. this could be done infinitely and just f... stops your debugger.
UPDATE:
As it was in some ways guessed, MxO client got anti-debugging meassures to assure itself that there is no one trying to reach its internal code.
This meassures can be bypassed using standard and public available plugins that make a masquerade to the debuggers on the market.
Using this method provides a full login sequence till world server, even debugging when playing.