extract dldi-library from any *.nds executable?

Discussion in 'NDS - Emulation and Homebrew' started by Coto, Dec 17, 2010.

Dec 17, 2010
  1. Coto
    OP

    Member Coto GBAtemp Addict

    Joined:
    Jun 4, 2010
    Messages:
    2,274
    Country:
    Chile
    I´ve got this question, as I have a R4i SDHC flash card, and the vendor in their web page have a YSMENU-like modified R4i firmware, and has the very dldi library I need, which I can´t find nowhere.

    Is there´s a special tool which will let me extract the proper dldi driver from a i.e. a DS_MENU or *.nds file?

    Thanks.
     
  2. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,711
    Country:
    United Kingdom
    I am assuming there is no other compatible DLDI driver or similar.

    Short version- no programs out there I know of that can do exactly what you want but there are options.

    A similar question was asked a while back- by and large there is no patch extraction but you could pull it from code using a few basic techniques (patch and compare) if it was just a patched file.
    As of some point a few years back most DLDI stuff happens in memory however and the files on the SD card never get touched so one would probably not be of any use.

    If they have not provided it as a basic DLDI file in the firmware/kernel directory structure (give or take simple file systems like GBFS, straight nitro compatible or even a simple extension swap) then are probably trying to hide it- why I can only guess at.
    While this is not fatal and you could probably pull it from the kernel code itself flash card makers do like to protect their stuff (compression, encryption and other things that make hacking/reverse engineering less that fun) so it would probably be easier to remake it ( http://dldi.drunkencoders.com/index.php?ti...nt_instructions although that advice could also be twisted for reverse engineering too- find the DLDI header and move on from there).
    This however could be counteracted by a memory reader (the same patch and compare technique just with a dump of the homebrew from memory), they do exist (it is how flash cart makers clone patches from rivals) but that I know of there is no general program for this sort of thing available to the likes of you and me- you might be able to force a memory dump of some program (debugging and all that) but I would not know where to start with that.
    Emulation of flash carts (or more accurately their software) is a tricky game owing to the extra hardware vs a standard DS so I would not look there for an "unknown" cart. Various carts have been emulated in the past but probably not this.
     
  3. avenir

    Member avenir GBAtemp Fan

    Joined:
    Dec 8, 2010
    Messages:
    375
    Country:
    United States
  4. jurassicplayer

    Member jurassicplayer Completionist Themer

    Joined:
    Mar 7, 2009
    Messages:
    4,280
    Location:
    Pantsuland
    Country:
    United States
    Actually, I think Xenofile had the ability to dump the dldi...but finding it isn't easy...
     
  5. SifJar

    Member SifJar Not a pirate

    Joined:
    Apr 4, 2009
    Messages:
    6,022
    Country:
    United Kingdom
    This is the easiest method, but in case you don't have devkitPro installed, and don't want to go to the hassle just for this, here's a precompiled binary, just for you:

    http://www.mediafire.com/?439hvxl55bsv229

    Just run that with a loader that auto-patches (i.e. your card's default software), and it should dump the DLDI patch.

    EDIT: But I thought with YSMENU the DLDI patch was stored in the file system on the card? I dunno, could be wrong, or they may have modified it a bit or something. Anyway, this should do the trick.
     
  6. Coto
    OP

    Member Coto GBAtemp Addict

    Joined:
    Jun 4, 2010
    Messages:
    2,274
    Country:
    Chile
    *-* Thank you SifJar, really. [​IMG]

    I´ll give it a go right now..

    And many thanks to the others for those excellent answers!
     

Share This Page