extract dldi-library from any *.nds executable?

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

  1. Coto
    OP

    Coto GBAtemp Addict

    Member
    2,353
    403
    Jun 4, 2010
    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

    FAST6191 Techromancer

    pip Reporter
    23,359
    9,149
    Nov 21, 2005
    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

    avenir GBAtemp Fan

    Member
    375
    13
    Dec 8, 2010
    United States
  4. jurassicplayer

    jurassicplayer Completionist Themer

    Member
    4,355
    505
    Mar 7, 2009
    United States
    Pantsuland
    Actually, I think Xenofile had the ability to dump the dldi...but finding it isn't easy...
     
  5. SifJar

    SifJar Not a pirate

    Member
    6,022
    892
    Apr 4, 2009
    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

    Coto GBAtemp Addict

    Member
    2,353
    403
    Jun 4, 2010
    Chile
    *-* Thank you SifJar, really. [​IMG]

    I´ll give it a go right now..

    And many thanks to the others for those excellent answers!