1. Luca91

    OP Luca91 Newbie
    Newcomer

    Joined:
    Sep 13, 2019
    Messages:
    4
    Country:
    Italy
    Hello,
    I was interested in getting code execution before the game's own NitroMain(), but my final ARM9 binary was bigger than the original one, and eventually was overlapping with the ARM7 binary.
    Instead to try all the funcky ways to compress my code (that anyway is not a viable solution in most of the cases since the padding between ARM9 and ARM7 binaries is extremely small), I decided to write a tool to help me (and maybe other roms hackers/reverse engineers) to unpack and repack nds roms.

    So, this is NDSFactory. With this tool you can unpack every sections of nds roms (but be aware that roms with OVERLAYS aren't supported right now!!!) and then repack them back (after editing them if you want).
    Using this tool, you can set custom address and size of your edited sections and then it will rebuild a new rom.
    Be aware that some general rom layout knowlege is required before using it. For example if the fat_data.bin (the FAT files) address is different, you have to patch your fat.bin using the 3rd tab.

    I'd like to post a pic, but sadly I haven't the right post counter :/

    If you want to contribute, you are very welcome, there is still a lot of things to do (checks, fat contents decoding, fat rebuilding, overlay support, a nice icon, and ofc bugs to fix!)


    GitHub repo: github.ASD/Luca1991/NDSFactory (change ASD with com - sorry I can't post links due to my post counter)


    Thank you, and I'll be watching this thread for any suggestions/questions :)
     
    Last edited: Sep 14, 2019
  2. CMDreamer

    CMDreamer GBAtemp Advanced Fan
    Member

    Joined:
    Oct 29, 2014
    Messages:
    683
    Country:
    Mexico
    This has so many posibilities!!!

    On the wrong hands though... :wtf:

    Can the NDS file be checked against an "official hash" to know they have been tampered with?

    Thank you for this great tool!!!
     
  3. Luca91

    OP Luca91 Newbie
    Newcomer

    Joined:
    Sep 13, 2019
    Messages:
    4
    Country:
    Italy
    I honestly don't think that this is useful to malware writers, if this is what you are thinking by "wrong hands". For at least three reasons:
    1) NDS format is greatly documented (since 2005 IIRC)
    2) A malware writer can easily write his/her own tools to unpack and repack nds roms (and also to apply patches to the fat)
    3) I haven't done any research, but I think that there might be other tools like this one already released 14 years ago (I decided to write my own for fun)

    Of course any nds roms can be checked against its official hash (the hash of a clean/untouched dump), you are welcome to write a function to calc and display the md5 of the final patched rom, and send me a PR on github. I'll be more than happy to merge your work :)


    tl;dr: i don't think that malware writers have any advantages using this tool. Also, we have perfectly working emus nowadays: test your software using one of them, before running it on a real console.
     
    Last edited: Sep 14, 2019
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - NDSFactory, [RELEASE], unpack