Homebrew [RELEASE] fw2nds - build firmware.nds from firmware.bin

  • Thread starter Thread starter dr1ft
  • Start date Start date
  • Views Views 35,261
  • Replies Replies 28
  • Likes Likes 23
Hello Dr1ft, I have a doubt and it is that when I put the .bin to the program, nothing happens apart from other .bin files are created. How can I solve it? I would be very grateful.
 
Code:
fw2nds
build firmware.nds
dr1ft 2018

unpacking with fwunpack
Nintendo DS Firmware Unpacker by Michael Chisholm (Chishm)
Firmware size 0x00040000
ARM9 Boot: From 0x00000180 to 0x021F0000
ARM7 Boot: From 0x000001A0 to 0x0380F800
GUI Data: From 0x000002C0
ARM9 GUI: From 0x000183B0
ARM7 GUI: From 0x0000F5B0
ARM7 GUI size: 0x0000D940
ARM9 GUI size: 0x0001AFA0
GUI Data size: 0x0003A7A0
Flashme firmware
ARM9 Boot2: From 0x01FFFE00 to 0x00800200
ARM7 Boot2: From 0x01FFFE00 to 0x00800200
wine: Unhandled page fault on read access to 02420FE8 at address 00401D76 (thread 0009), starting debugger...
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
Unhandled exception: page fault on read access to 0x02420fe8 in 32-bit code (0x00401d76).
0030:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00401d76 ESP:0032fe7c EBP:00401e00 EFLAGS:00010202(  R- --  I   - - - )
 EAX:02420fe8 EBX:7e9b2ec0 ECX:02420fe8 EDX:02420fe8
 ESI:00401d70 EDI:004211e8
Stack dump:
0x0032fe7c:  0040158b 02420fe8 004211e8 7e9b0600
0x0032fe8c:  7e9af740 7e9b2ec0 0032feac 00401d90
0x0032fe9c:  00401db0 00000000 00401ad3 0032fef4
0x0032feac:  00403314 01fffe00 00800200 004032f0
0x0032febc:  01fffe00 00800200 004032dc 0041da78
0x0032fecc:  00000001 0032ff30 00000000 00800200
Backtrace:
=>0 0x00401d76 EntryPoint+0xffffffff() in fwunpack (0x00401e00)
  1 0x40641ca3 (0x0424448b)
0x00401d76 EntryPoint+0xffffffff in fwunpack: movb      0x0(%ecx),%al
Modules:
Module  Address                 Debug info      Name (19 modules)
PE        400000-  41f000       Export          fwunpack
PE      7b000000-7b2e9000       Deferred        kernelbase
ELF     7b400000-7b673000       Deferred        kernel32<elf>
  \-PE  7b420000-7b673000       \               kernel32
ELF     7bc00000-7beb3000       Deferred        ntdll<elf>
  \-PE  7bc30000-7beb3000       \               ntdll
ELF     7c000000-7c005000       Deferred        <wine-loader>
ELF     7e7e1000-7e800000       Deferred        libgcc_s.so.1
ELF     7e905000-7e92e000       Deferred        libtinfo.so.6
ELF     7e92e000-7e95a000       Deferred        libncurses.so.6
ELF     7e95a000-7ea3d000       Deferred        msvcr80<elf>
  \-PE  7e980000-7ea3d000       \               msvcr80
ELF     7eeb6000-7eecb000       Deferred        libnss_files.so.2
ELF     7eecb000-7efd0000       Deferred        libm.so.6
ELF     f7bc2000-f7bc8000       Deferred        libdl.so.2
ELF     f7bc8000-f7db6000       Deferred        libc.so.6
ELF     f7db6000-f7dd9000       Deferred        libpthread.so.0
ELF     f7e09000-f7fbc000       Dwarf           libwine.so.1
ELF     f7fbe000-f7feb000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) Z:\mnt\be72c2f6-dadb-4f53-9bc0-f509230a0e01\Programme\OSS\CFW-Suite\fw2nds\bin\fwunpack.exe
        00000009    0 <==
0000000e services.exe
        0000002c    0
        00000020    0
        0000001b    0
        00000015    0
        00000014    0
        00000013    0
        00000010    0
        0000000f    0
00000011 winedevice.exe
        00000018    0
        00000017    0
        00000016    0
        00000012    0
00000019 plugplay.exe
        0000001d    0
        0000001c    0
        0000001a    0
0000001e winedevice.exe
        00000026    0
        00000023    0
        00000022    0
        00000021    0
        0000001f    0
00000024 explorer.exe
        0000002b    0
        0000002a    0
        00000029    0
        00000025    0
00000027 ACService.exe
        0000002e    0
        0000002d    0
        00000028    0
System information:
    Wine build: wine-5.0.1
    Platform: i386 (WOW64)
    Version: Windows 10
    Host system: Linux
    Host version: 5.4.0-40-generic
reading images
boot7 critical region at FFFFFFFF
boot9 critical region at FFFFFFFF

Unhandled Exception:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
  at System.BitConverter.ToInt32 (System.Byte[] value, System.Int32 startIndex) [0x00016] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at System.BitConverter.ToUInt32 (System.Byte[] value, System.Int32 startIndex) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at bluelib.Utils.ToUInt (System.Byte[] data, System.Int32 offset) [0x00000] in <e8ce40ccd31e49108c6a43227d843ea8>:0
  at fw2nds.Program.Main (System.String[] args) [0x00225] in <0ad843ee36bf46d796b49c32028d6cd1>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
  at System.BitConverter.ToInt32 (System.Byte[] value, System.Int32 startIndex) [0x00016] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at System.BitConverter.ToUInt32 (System.Byte[] value, System.Int32 startIndex) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at bluelib.Utils.ToUInt (System.Byte[] data, System.Int32 offset) [0x00000] in <e8ce40ccd31e49108c6a43227d843ea8>:0
  at fw2nds.Program.Main (System.String[] args) [0x00225] in <0ad843ee36bf46d796b49c32028d6cd1>:0
This is all I get when running that, any idea?

Edit: Compiled fwunpack.exe on my own and the first exception disappeared. The second one still persists…
If this is a .NET executable, don't run it with WINE, run it with Mono directly instead, see if it works better that way.
 
  • Like
Reactions: Cosmonaut
opening fw2nds.exe with firmware.bin i get:
Code:
fw2nds
build firmware.nds
dr1ft 2018

necessary file not found

what other files do i need ..? where do i put them ?
 
if someone else is called endrift, im not them :P
Actually if you do have the true OEM firmware. Then communicate that to somebody like me for example. Of course you would send it and document format. It's protected and it's original form. So obviously you know you would have a separate text file. Indicating what the actual file extension not to use cuz then it would actually violate copyright. Anyhow I had three things I wanted to do with the original firmware on my device. In which I would need the entire firmware to work with to debug and all that. Of course it would be done in VMware and I will be visiting a country that doesn't have issues with copyright. They do not recognize copyright. Anyhow for your end I wouldn't mind seeing a star doc of the firmware. You can link it to me. You know in a direct message. Hopefully I'm signed in here. Anyhow I want to add a SDR-rtl program for Nintendo DS. Also take my NT developer can't that I acquired as a developer. And was thinking about putting Windows XP mini. Changing the GUI of the device I own which is Nintendo DS. Sorry about writing so much so hopefully there is more updates on this topic here. I just noticed that there's an arrow pointing the two and three are updates and not going back in time but I shall see. So if you are interested or want more clarification cuz I'm trying to be somewhere in the middle here. You have my permission to inbox me
Post automatically merged:

If this is a .NET executable, don't run it with WINE, run it with Mono directly instead, see if it works better that way.
So this is something that's to be ran on Linux I assume? Well how is it on Apple? I have heard complaints about people trying to mod on Apple. But again I'm not sure what version of iOS they were running is that what it's called when it's on the computer like a laptop? Or os actually? So my bottom line question is this. Is there access to the full firmware for a Nintendo DS or 3DS? As you can tell I prefer not to simulate like they do in the videos on YouTube. I think I'm going to steer away from the windows idea I made a very long post before. But I want to work on getting an SDR RTL dongle to run on DS. Straight from the menu. Perhaps I do not need the full firmware? Or is there ways to do this and still get the same outcome? I am 100% a newbie when it comes to modifying a DS as far as Homebrew is concerned. So any input id very happy to learn what others have to say. I'm sure I can do all this much more easier with the available. BIN files and run it on me device like the Android. But that would just eat my whole cause and purpose. Any suggestions or links would be awesome! Thank you for taking the time to read my poster and responding 👍
PS I just wanted to quickly add that I've seen people get YouTube and a browser to run flawlessly recently. Unaware if it's in the Homebrew repository on wiki or whatever it is that.
 
Last edited by Cosmonaut,
One detail I think is worth mentioning is that it does not extract the NDS well with firmware that has Flashme.
 

Site & Scene News

Popular threads in this forum