BullyWiiPlaza / Universal-Pointer-Searcher

An application for finding memory pointers
Apache License 2.0
24 stars 1 forks source link

Triple pointer depth not working #1

Closed Monotek18 closed 6 years ago

Monotek18 commented 7 years ago

I have an error every time I try to search a pointer deeper than 2

BullyWiiPlaza commented 7 years ago

It's obviously not implemented.

Monotek18 commented 7 years ago

Well then I'll wait :)

AnalogMan151 commented 6 years ago

Any chance of getting pointer depth larger than 2? The cheats I'm looking for with this are going to be around 5-6 pointers deep.

BullyWiiPlaza commented 6 years ago

How do you know? You never need it plus doing that would probably take a day or more to complete.

AnalogMan151 commented 6 years ago

I'll take that as a no. Thanks for the response, I'll look elsewhere for a tool that can do this. As for how I know, there's a game that already has the pointers figured out for EUR region and I am trying to get the same code to work for USA region and that code is 5 pointers deep, so I will need something similar for the USA region. I'd use Cheat Engine which can do this pretty easily but my memory dumps don't start at address 0x0 and Cheat Engine doesn't allow you to define a starting address like your tool does. TempAR goes multiple pointers deep but anything after the first layer you need to scan for manually, which takes too long. There's also Pointer Searcher, but that only goes 3 levels deep, so still not enough. Thanks again!

skoolzout1 commented 6 years ago

You might be able to take the 5 stage pointer and find it manually on the Wii U. If the game versions are identical, and with a bit of luck, the offsets might all still be the same and you can work backwards from the end value/address until you find the base address for the Wii U version

AnalogMan151 commented 6 years ago

Thanks for the advice! But this is not for a WiiU game.

BullyWiiPlaza commented 6 years ago

I added a new method for finding pointers of depth higher than 2 (single memory dump method). The explanation is given as well if you click the "Information" button.

AnalogMan151 commented 6 years ago

Took me a little to figure out exactly how it worked, but I seem to be making progress! I've found a few layers deep and now just working on what I believe to be the final layer to get the base address. There's just one thing I wanted to ask. In some situations, I'm getting more than 2 results per line. From the instructions I know the first result on the line is the address found in dump 1, and the second is for dump 2, but I sometimes see 3 or 4 results per line and I don't know how those match up. Attached is a screen shot of what I mean:

screen shot 2018-04-01 at 8 53 16 pm

EDIT: Oh, I think I see now. A line is made for every unique dump 1 address and pattern and the extra results past the first two are alternate dump 2 addresses that fit the pattern. Which means, in the example above, I should be searching for:

Dump 1: 0x8156D924
Dump 2: 0x81580240

as well as

Dump 1: 0x8156D924
Dump 2: 0x81580250

Which means I need to start over because I've been skipping a WHOLE bunch of possible results.

Different question then:

If Single Dump mode finds a result with matching addresses (the base pointer I'm looking for) will it display it or do I need to switch back to regular mode to find the result?

BullyWiiPlaza commented 6 years ago

Oh, I think I see now. A line is made for every unique dump 1 address and pattern and the extra results past the first two are alternate dump 2 addresses that fit the pattern. Correct.

If Single Dump mode finds a result with matching addresses (the base pointer I'm looking for) will it display it or do I need to switch back to regular mode to find the result? Regular mode should work as well. If you don't want to go "deeper", use regular otherwise the single dump mode since the latter does not give you final pointers, only intermediate results to continue.

Also the fact that you're using it for little endian is pretty cool since it's untested so it might as well not work correctly or at all but it seems to be fine.