PDA

View Full Version : How to resolve a register


paraidy
01-09-2006, 17:41
I'm searching for a way to resolve a register, for example, when i find a dynamic lotation and i set a breakpoint i find an adress for example with an instruction like this: Mov Ecx,[eax+05] but often there are more locatione that access Here, so is there a way to know what address is handling [Eax+05], or a way to set a Breakpoint on memory access or Write to [eax+05]?
Thx

DABhand
01-09-2006, 21:17
Well obviously some games or application may use a single op code


Like


Move [eax+5],ecx

EAX register changes accordingly, and somewhere else in the program it jumps to this op code.


Now that in mind, and you know initially what address the game is using to store say bullets and you come across an op code like this with multiple uses.

You set a breakpoint to read on the address you found for the bullets, and look for alternatives to that op code.

If you can trace back you will find where the EAX register had a value placed into it before going to this op code. And its a good chance there you can code cave to force a value into that address.

paraidy
02-09-2006, 06:09
Yes, i know setting a breakpoint in read you find all access in this location, but in some games, example 25 to life i have noticed that setting a read breakpoint in my energy it find only 1 address, but the found address is used not only for my energy but for other things, so can i set another breakpoint in the found address or there is another technique in this case?
thanks DABhand, you are always available :)

DABhand
02-09-2006, 11:11
Your not looking at the bigger picture (as sheep would say)


The opcode you may have found will be the final part of a series of opcodes to finally move a value into a pointer addy.

But if you trace back from that opcode, you will come across where it assigns a value to calculate the pointer address being used.

And there is a good chance there is seperate opcodes for health,bullets etc where it assigns a new pointer addy before reaching that 1 opcode you found.


You will realy need a good debugger to be able to trace back codes to see whats happened.


Also you can try this, set a read breakpoint on the opcode addy, that may pop on you at the set of opcodes that works the pointer address to be used. Here you can code cave and then send a value to appropriate register.


I know im not explaining it 100%, but this is where you have taken a further step in training games. Not all games are easy and straight forward to train.

But look at it as a good chance to learn a new way of training, and it may perhaps help you with maybe an old game you gave up training on cause you didnt know what you do now.

paraidy
02-09-2006, 14:10
Ok, Thx for advice :)