Step 8 Multi level pointers

Posts 17 of 7 · Page 1 of 1
Step 8 Multi level pointers
Hi guys, I've watched and completed the step 8 multi level pointers tutorial and I am trying to apply it to a game.
I have Contra set up with an emulator, and I can find the lives address no problem. What I get after I find what writes to this address is [eax+edi]
I am not sure how to apply this. edi is not an offset correct? In the tutorial there is a number. I'm kind of confused at this point.
I can't get past this point because when I add a pointer and enter the address, I'm not sure what to use for an offset, and if I leave it blank, it doesn't match the value that is currently there. Not sure if I'm explaining this right.

I'm just trying to find the base address of the lives. Maybe I'm approaching this the wrong way?
Fairly new to CE so bear with me.
You can cheat it ^^ You search once for the Address with the Value inside u want to find a static pointer for, Make a Pointerscan with Cheat Engine on it, leaves open the result window. You restart the Game completly, search it again and then you look which previous match result is still pointing to the thing you are looking at.
I hope you understood my weird English, good luck
Thank you. Yes I understand what you are saying. I did that the first time, but what happened is I still had way too many results. I decided to keep trying and repeating, and I did lower the results, but as I kept repeating, the results were not necessarily always getting smaller, but rather having greater results. I'll try again and keep plugging away, just thought maybe I was approaching it the wrong way. Thanks
So I have tried again for the last couple hours and not getting good results. I have documented exactly what I am doing and hopefully someone can tell me what I'm doing wrong.
1)Load CE and Emulator for Contra and find address for lives
2)Pointerscan for this address
3)Save as pointerscan.ptr
4)4000+ Results found
5)Right click address from the address list, generate pointermap
6)Save as lives0.scandata
7)Close everything (CE and Game)
8)Restart both, attach game
9)Find address again
10)Pointerscan for this address
11)Select "compare results with other saved pointermap(s)"
12)Select lives0.scandata from line 6 above where I saved it
13)Add the address
14)Select ok and save as pointerscan.ptr (overwrite from line 3 above)
15)Generate 36 results (Much better)
16)Generate pointermap again from the address list
17)Save as lives1.scandata
18)Close everything and repeat from line 8
19)Ended up with 504 results

This is where I keep looping back. Cannot get a smaller list.36 has been the smallest list I have gotten yet.
Am I doing something wrong?
In line 17 where I select lives1.scandata to compare with, should I also be adding lives0.scandata from as well? Or is the last scandata save sufficient?
uhm.. who cares how much results that are? static pointer is static pointer, which one doesn't matters, it only matters that it works after every restart
Quote Originally Posted by MikeRohsoft View Post
uhm.. who cares how much results that are? static pointer is static pointer, which one doesn't matters, it only matters that it works after every restart
Oh. Damn, I thought I had to get a specific one. Geez. Thank you. I'll go test that. I feel like an idiot now.
Quote Originally Posted by MikeRohsoft View Post
uhm.. who cares how much results that are? static pointer is static pointer, which one doesn't matters, it only matters that it works after every restart
I got it working. Thank you so much.
Posts 17 of 7 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?