PDA

View Full Version : How to make DMA Hunter a Function in Stacks



1st-Hokage
05-12-2014, 04:14 AM
I cannot remember the last time I made a tutorial...... This function will find a pointer and offset by loading whatever value you put into address 0x088007F8.

When you find an address that you think it's DMA, you can use the code instead of the hassle of using a program and making two ram dumps. This code will loop through the ram and look at each address to see if it is a pointer; til it finds an address with an offset less than 0x10000. (which I think most DMA's offset is a 16 bytes) Then it prints out the pointer and offset. Make sure you put the fake address of the DMA that you found in the value area of address 0x088007F8.

I'll be happy to answer any questions. (Did not realize how small the images were) The label "::Offset_Byte_Check::" checks to see if the pointer you found has a digit ending either 0x0, 0x4, 0x8, or 0xc. Just to make sure it's a valid pointer. (My last code found pointers for example: 0x8d02381, 0x0890653, or 0x09f065d9 etc... odd numbers) That's why I added the checksum.

http://i416.photobucket.com/albums/pp249/1st-Hokage/Screenshot46_zpsf44db32f.pnghttp://i416.photobucket.com/albums/pp249/1st-Hokage/Screenshot47_zps75226b95.pnghttp://i416.photobucket.com/albums/pp249/1st-Hokage/Screenshot48_zps85ff3a5d.png

demon450
05-13-2014, 05:16 PM
why:confused:

1st-Hokage
05-13-2014, 06:09 PM
why:confused:

Are you asking why did I post this or why a code?

demon450
05-18-2014, 11:00 AM
why did you post this

1st-Hokage
05-18-2014, 12:12 PM
why did you post this

My purpose was to demonstrate the purpose of the use of stack offset registers within the stack function I used to call back values (callee registers). Also to show that you can make a DMA hunter in MIPS.


you can use the code instead of the hassle of using a program and making two ram dumps

This would be great for the ps2 scene hackers because they don't have great programs like nitePR to view ram.