#151819 - Filb - Wed Mar 05, 2008 3:42 pm
The Japanese Wii Channel called "Minna no Nintendo Channel" (Everyone's Nintendo Channel) is currently distributing Nintendo DS demos using the "DS Download Play" feature.
I have been capturing them for a few weeks (in .cap files).
Why I'm doing this? Because they are... umm... rare gems of gaming history... or something... somehow. ;)
However, I didn't find a way to assemble them back into .nds files. A few demos I captured were assembled by FireFly some time ago. He just won't reply anymore now and I think he won't release his tool or any docs on this. :(
I uploaded some captured demos here (15 MByte).
I hope someone here is able to find a way to assemble them. Everyone, please try!! :)
I'm willing to share the Wii DS demos I have, if they can be assembled. Thanks!
Edit:
I finally found an old capture file AND a fully assembled .nds file from FireFly. Maybe these files will help even better figuring out how this is done! :)
Namco Museum DS Download Demo (Xevious) (1.9 MByte). Thanks!
Edit 2: I noticed that .nds file offset 0x200-0x3BF does not exist in the .cap file. I think this is additional information for wmb.exe. That part can be ignored when assembling.
#151914 - nczempin - Thu Mar 06, 2008 4:10 pm
Filb wrote: |
I have been capturing them for a few weeks (in .cap files).
Why I'm doing this? Because they are... umm... rare gems of gaming history... or something... somehow. ;)
|
The correct answer would have been: "because you can!" ;-)
#152111 - yellowstar - Mon Mar 10, 2008 3:39 am
I got a "file not found" error on both links.
#152114 - Filb - Mon Mar 10, 2008 7:43 am
Oh, sorry. I forgot to move them back when I was trying something with mod-rewrite earlier. Should work now.
#152171 - yellowstar - Tue Mar 11, 2008 1:53 am
The downloads work now.
Filb wrote: |
Edit 2: I noticed that .nds file offset 0x200-0x3BF does not exist in the .cap file. I think this is additional information for wmb.exe. That part can be ignored when assembling. |
That's because packet captures and the .nds file format are very different.
When you capture packets, the actual .nds data isn't the only thing you're capturing. There's Download Play banner packets,(What you see for the download on the DS when the DS searches for downloads)
authentication, association, rsa frame, and finaly, the .nds data split into 512 byte segments.
None of these are raw, including the actual data. They all follow the NiFi standard.(NiFi is a modified 802.11b standard for local wireless)
All these packets are in NiFi "containers".(Not the actual term)
These "containers" have info about which DS the packet is intended to go to, and which DS it is from. It also contains the sequence number, among other things. And of course, they contain the actual packet data.(Like the .nds data)
To assemble, a program must find the banner, the rsa frame, and the .nds data. They can't "copy and paste".
And since most captures don't contain every data packet, the program should have the support to combine the captures.(However, software could be written to do this combining outside of the assembler)
Filb, how many captures did you do of each demo?(Not the namco demo of course)
If you only did one, it's very likely you'll need to do the captures at least 2 or the 4 more times.(Also make sure the DS is a good distance apart from the Wii, enough to make the signal strength bars go down to 1 or 2. Also, the device which does the captures should be close to the Wii.)
#152174 - Filb - Tue Mar 11, 2008 2:38 am
Yeah, I think I do know what kind of packets are in it.
But I think the 0x200-0x3BF is still additional data for wmb.exe since it also includes the download stations' name (eg. "ニンテンドーCh."). I think it's inside the "reserved area", too.
I captured everything three times.
Download Play "banner packets" should be in.
#152190 - pas - Tue Mar 11, 2008 3:54 pm
This gets me to one point... wouldn't it be possible to write a program running on the DS itself and capturing + whatever is needed the stream to a executable ?
It would be neat to at least be able to capture cap files using the DS cause ppl could capture more secretly in official events then...
_________________
Starcraft DS ?
#152207 - yellowstar - Tue Mar 11, 2008 9:29 pm
Filb wrote: |
Yeah, I think I do know what kind of packets are in it.
But I think the 0x200-0x3BF is still additional data for wmb.exe since it also includes the download stations' name (eg. "ニンテンドーCh."). I think it's inside the "reserved area", too.
I captured everything three times.
Download Play "banner packets" should be in. |
That section you are referring to is in the banner packets, or at least has some data from the banner.
(Those banners are also known as advertisements, and beacons)
What did you use for the captures? Ethereal?
pas wrote: |
This gets me to one point... wouldn't it be possible to write a program running on the DS itself and capturing + whatever is needed the stream to a executable ?
It would be neat to at least be able to capture cap files using the DS cause ppl could capture more secretly in official events then... |
That should be possible. After all, wifi_lib_test captures packets, so why not?(I tried doing this, but, bugs in my code, not wifi_lib_test. It needs rewritten.)
#152212 - HyperHacker - Tue Mar 11, 2008 10:21 pm
If anyone ever wrote a working homebrew WMB client, I don't see why it wouldn't be able to dump the downloaded binaries to disk before running them.
_________________
I'm a PSP hacker now, but I still <3 DS.
#152218 - yellowstar - Wed Mar 12, 2008 2:19 am
Filb, what software did you use to do the captures? Something like this?(software that uses the libpcap capture format, or Firefly's packet capture tool)
#152228 - Filb - Wed Mar 12, 2008 10:22 am
FireFly's capture.exe.
#154719 - yellowstar - Sun Apr 20, 2008 10:08 pm
Sorry if it seemed like I quit on you and such... I was going to write a program myself to assemble captures. Back when I first started on this, I read the .cap file format spec on NDS TechWiki. That wasn't enough, and I forgot about it for a good long while, then remembered about it, then googled for a spec on the format. And I found the official library to handle cap files.
At the time of writing this, the only thing the program does is process beacons. And that doesn't work, for assembling them. However, a breakthrough happened yesterday, and it should work. I haven't tested it yet.
Good thing you have msnm... It seems you haven't been here in a while...(Meaning I might attempt to contact you via that msnm button)