Can't Determine ASM for Write

Started by live2play, March 25, 2012, 08:43:53 PM

Previous topic - Next topic

live2play

I have an address that is being written, but placing a write BP (exact or otherwise) on the adress never results in a trigger.  If you have an address that is being updated when being viewed in the Mmeory Viewer in "realtime" but that never triggers a write BP, what can you do to determine what ASM is writing the value to that memory address?

toonlink444

Do a read breakpoint then trace it to the write. I don't personally know how to do this but I think it has to do with the link register. Someone correct me if this is totally incorrect.
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

live2play


dcx2

I think some addresses will be written to by the ARM processor in Hollywood (the companion to the PowerPC processor, Broadway).  Since the write happens on a different processor, the PPC's write breakpoint will not fire.

I think it may also be possible that an interrupt handler is writing to that address.  Interrupt handlers are run in "supervisor" mode, which generally prevents other interrupts (i.e. breakpoints) from firing, so you wouldn't see the breakpoint.  The code handler gets around this by returning to user mode after a breakpoint hits, in case another breakpoint (i.e. crash) happens.