Hex File Pointer Checker and Follower

Discussion in 'Wii U - Hacking & Backup Loaders' started by skoolzout1, Jun 21, 2017.

  1. skoolzout1
    OP

    skoolzout1 GBAtemp Fan

    Member
    363
    310
    Mar 16, 2017
    Canada
    Canadehh
    Hiya!

    Long story short. I made a program to assist in checking the Validity of pointers from game dumps.

    You can download it here: https://github.com/skoolzout1/HexDumpPointerFollower

    If you do not know what a Pointer is, you do not need this program.

    As of right now, its just a C++ console application, so its not exactly pretty, but if anyone really wants to make a GUI for it, go right ahead, lol.

    What can it do?

    Well, right now, you can use it to simply follow a pointer to see what address a pointer points to, as well as the value within that address.

    Or you can give the program a text file and specify what the Target Address should be for all of your pointers and it will check all of the pointers in the file and filter out the ones that do not point to the address you specified.

    Right now I have 2 types of pointer filtering. Filter by Address, and Filter by Value.

    What do these mean?

    Filtering by address is exactly as i just described right above. It filters out pointers that do not reach an address specified by you as the user.

    Filtering out by Value follows the pointers to whatever address they end up reaching, and then checks if the value inside that address matches the Value that you specify. This can be great to filter out even more bad pointers than checking just an address.




    A small disclaimer:

    I am not a software engineer, this program was originally created entirely for myself, but i figured i'd share it in case anyone ends up needing something like this. Do not expect perfection.

    I will be happy to take suggestions for improvements or new feature ideas, and ill gladly attempt to fix any bugs that people point out.
    You can post issues on here, or create an issue on Github, both are fine by me.


    Have a Good Day! :3
     
    Last edited by skoolzout1, Jun 21, 2017
    Magnus Hydra, asper and Megabyte918 like this.
  2. PandaOnSmack

    PandaOnSmack GBAtemp Fan

    Member
    318
    181
    Nov 3, 2015
    Hey man, on the topic of pointers I am just trying to find some for Deus Ex but it's proving to be a pain. Searching and dumping takes a long time then I am getting 0 results on the pointer search.

    Do you use bully's pointer search app to start with?
     
  3. skoolzout1
    OP

    skoolzout1 GBAtemp Fan

    Member
    363
    310
    Mar 16, 2017
    Canada
    Canadehh
    Yes, unless the pointer is larger than 2 stages, in that case I find them by hand.

    If you aren't getting any pointer results, either 1 of 3 things is likely the cause.

    1. You inputted the wrong information such as the wrong dump starting address or wrong target addresses.
    2. You didn't dump a large enough area of the game to include the static address areas where pointers are most often found.
    3. The game just uses really large pointer offsets and pointer depths and goes beyond Bully's implementation so far.

    As a personal preference, i still prefer Bully's old version of the pointer searcher, before the GUI improvements and such, for my computer it seems to run much faster and just as efficiently as the newer versions. If you want my older copy of his Pointer searcher just let me know.
     
    Last edited by skoolzout1, Jun 27, 2017
  4. RandomUser

    RandomUser What has gotten into you Rosie?

    Member
    574
    195
    May 9, 2010
    United States
    I'm curious, how is this different from the JGeckoU pointer follower or the watch function? Is this more universal (not restricted to the Wii U)?
     
  5. skoolzout1
    OP

    skoolzout1 GBAtemp Fan

    Member
    363
    310
    Mar 16, 2017
    Canada
    Canadehh
    The Following capability of this program is no different than the follow pointer button in jgecko. The difference is that you don't need to be connected to a Wii U to follow the pointer. You can simply use only a dump file. This is especially useful if you're like me and you're checking if pointers work on older versions of the game and all you have left are dumps

    It's also different because it can check a file Full of pointers to see you which ones point to a valid address or value as specified by the user. Which is unique to this program.

    It is much better/efficient and much faster to use this program to check a list of pointers if you have a list already, than it is to redo an entire pointer scan in order to eliminate bad pointers.


    Does that answer your question?
     
    Last edited by skoolzout1, Jun 27, 2017
  6. RandomUser

    RandomUser What has gotten into you Rosie?

    Member
    574
    195
    May 9, 2010
    United States
    Yes, this does answer my question, and thank you for taking the time to answer them with details.
     
    skoolzout1 likes this.