(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-05-24 07:25 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Wi-Fi Connection and Linux New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-05-06 01:11 AM Link | Quote
Take a quick gander over yonder:


You like what you see? Yeah, I thought so.

This is something that Nintendo wasn't counting on being done for a while. Namely being for the fact that Microsoft Windows won't let you do it. Linux, Mac OS X, *BSD, etc... Those will all let you do it. But Windows? Pfft.

In case you're wondering, I bet this is also the reason the Nintendo Wi-Fi USB Adapter doesn't work on anything but Windows.



See, what's going on in that picture is that I set up a rudimentary terminal for spoofing a Nintendo Wi-Fi Connection server. This program will one day become a network passthrough for reverse-engineering, but I won't be working on it until after the F-Zero X editor is completed.

What I've done is set up a frightening monstrosity of network configuration here under my desk and got my Nintendo DS running Metroid Prime Hunters to connect to my computer instead of Nintendo's WFC server. That way, the online mode of these games can be hacked and custom servers can be created.

And I owe it all to Linux. The F-Zero X editor is the only thing keeping me from using Linux exlcusively. Once it's done, I'll be living the high life in Debian's glory. But for now, most of my programming expertise lies in Windows, which is why that screenshot up there is of a Windows application.



Linux is world-renouned for its reliability and performance as a server, but it hasn't gotten much acclaim for its ability to be an insanely powerful network router. Most anything you can think up can be done through a Linux router, including NAT and filtering, which Windows avids can only dream of doing with their systems.

I took a spare wireless router that I had laying around (a B router; the current router I'm using is G) and plugged it into one of my Linux boxes. This provided a wireless access point for the Nintendo DS to connect to, and the other side is something that I control as opposed to the internet.

Configuring Linux out the wazoo (much of it was experimental and learning), I eventually stumbled on some actual documentation of the iptables utility and set up some routing through that.

I told it to forward all traffic coming in from one network interface (the one connected to the wireless router) and redirect it all to the IP address of my main computer (which is connected via a second network adapter in the Linux box). The end result is a makeshift system that makes a Nintendo DS go to a computer of my choosing instead of Nintendo's server on the internet.

Indeed, that screenshot up there shows the first piece of data sent from the Nintendo DS when you connect to WFC. Interestingly enough, it's an HTTP request that immediately closes the connection. I see little reason for this, but I'm sure to find out when I get into the project at a later date.



The possibilities seem endless at this point. That said, I won't be sharing all the ideas I have because they are far too numerous to count.

Since I won't be working on this project for a month or so, I'd like to know what you guys think of it. Is this a senseless endeavor? Do you see any great uses for it? Any questions or comments?
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6285 days
Last view: 6285 days
Posted on 04-05-06 02:51 AM Link | Quote
Well, I can see this being useful several years from now (well, hopefully more than "several"), after Nintendo has pulled their WFC servers offline. For now, though, it's an interesting experiment.
biejor

Goomba
Banned


 





Since: 01-04-06

Last post: 6556 days
Last view: 6556 days
Posted on 04-05-06 09:20 AM Link | Quote
Two words: PocketNES WiFi
Ailure

Mr. Shine
I just want peace...








Since: 11-17-05
From: Sweden

Last post: 6285 days
Last view: 6285 days
Posted on 04-05-06 09:22 AM Link | Quote
Like what the Command and conquer fanbase did when EA's support for the CnC games kept decreasing. XWIS was born, and support for it was so good that EA dropped Westwood online and let XWIS take over.

Well, if you have a wireless network card and internet access I think it's possible to bridge the connection and turn the windows computer into a hotspot in ad-hoc mode. I hadn't had the chanche to try this yet though. But yes, the network configuration of Windows is rather limited.


(edited by Ailure on 04-05-06 08:25 AM)
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-05-06 05:24 PM Link | Quote
Ad-Hoc mode is structurally different from Infrastructure and cannot be used to create an access point. Even using Windows as an access point, however, it won't let you redirect the IP traffic to anywhere but its intended destination.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6300 days
Last view: 6286 days
Posted on 04-05-06 09:19 PM Link | Quote
+30 points for showing how awesome Linux can be with hacking

I hope you'll release the sources when you're done
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-05-06 10:18 PM Link | Quote
For ethical reasons, I won't release any information that can be used to compromise the enjoyability of an online service. Making a custom WFC server means you can spoof your online stats. Using a network passthrough means you can send fake commands to recover energy, obtain items, etc.

Once Nintendo drops Wi-Fi Connection for a game, though, I will release all information I know at that time.
WolverineDK

Micro-Goomba


 





Since: 01-14-06
From: Denmark : Baby !

Last post: 6486 days
Last view: 6288 days
Posted on 04-06-06 02:34 AM Link | Quote
BGNG: not to be an arse, but sometimes I feel you need to brag about about good you are, and things like that through your posts, and brags about something you have found out, and when people get exited, then you suddenly puts a stop button that is big as a bus in front of them. And tell them " no I wonīt release the source, because then you can learn how to cheat in games and so forth " through a custom WFC server.

Well, I can only say this, I think that comment has too much double standard in the sentence.

There will always be cheaters, there will always be people who will try to make them invinsible and so forth. But I donīt , it is of course up to you, to do what you want.

I am just stating my opinion, and I surely hope, that you know, I have nothing against you, but it was just a feeling.
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-06-06 03:51 AM Link | Quote
My primary concern with releasing source code for programs that interact with public online services is that the companies involved will choose to take legal action against the project and those involved with it. I will not forget what has happened with Blizzard v. BnetD.

My secondary concern is that my work will be used for dishonorable purposes. Law doesn't matter so much. If it's illegal, even good people can do it; often for legitimate purposes. But if people intend to use something to cheat against fellow players, that is not acceptible. I don't want to become known as the guy who let cheaters run rampant on Nintendo Wi-Fi Connection.



On the other hand, my "no release" rule only applies to games on the market. Servers merge, popularity drops... There's a number of different things that happen with online games over time.

Eventually, servers only exist because a few people still use the game. While I suspect Nintendo Wi-Fi Connection will remain active for all past games throughout its entire lifetime, there will be a time when today's games--Mario Kart DS or Metroid Prime Hunters, for example--will become more or less a thing of the past.

Once a game becomes forgotten as such (does anyone really play Phantasy Star Online anymore?), I will release information that I have on it. If no one plays it, then cheating in it will not be as much of an offense. Just wait a year or two and whatever I find today will be publically available.



As far as generic server stuff is concerned, I most certainly will release information on that. Just not game-specific stuff. Nintendo Wi-Fi Connection is free and there is no need to activate any services or register games in any fashion. It breaks no laws as such, so there is no danger of offending the first party--not even financially. If WFC is free, then reverse-engineering it will not harm Nintendo's income.

This combined with the fact that only the most enterprising people with tons of spare computer equipment and expertise with Linux will be able to utilize the custom-server idea make me comfortable sharing what I find out.



I have no intentions of restricting people to just looking at the things that I do. That's just as disrespectful as cheating. The only thing I restrict 100% is source code to ROM editors, and that's just because I release documentation in place of it. (And before anyone tries: my source code policy is a different topic for a different thread. Do not comment on it in this thread)

I appologize if my actions appear to be selfish, but I assure you that I'm only posting this here because I want to share my knowledge with the world.
firemaker

Cheep-cheep


 





Since: 12-13-05
From: Somewhere in a place called Berkshire

Last post: 6363 days
Last view: 6363 days
Posted on 04-06-06 07:57 AM Link | Quote
ave you ever heard of a guy called steven stair? He's the guy who took the wifi bounty prize. Maybe you should speak with him, he's written a program that tunnels nifi packet (but it's only in alpha stage). He might be able to help with some things. his site is http://www.akkit.org. Take a look.
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-06-06 09:16 PM Link | Quote
Thank you for your link, firemaker. While I do not intend to obtain any information from the source you listed, it did lead me on a string of leads that ended with a VERY promising statement.

According to Darkian.com, the Nintendo DS uses IEEE 802.11b for all wireless communications. That means that using some low-level Linux programming, I should be able to create my own tunneling scheme with ease.

My hopes have never been higher than this. I hope to create a series of server products (the source codes for which will certainly be released) that will enable any Nintendo DS multiplayer game to be played online. The concept also enables Download Play servers to be created--computers which themselves can transmit download play data to the DS.

It also opens a door for homebrew. With a Download Play transmitter, custom code can be created and uploaded to the DS unit without hacking any hardware whatsoever.



Needless to say... I appreciate your reference, firemaker.
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6285 days
Last view: 6285 days
Posted on 04-06-06 10:54 PM Link | Quote
Imagine DoomDS... with Internet-enabled deathmatches
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-06-06 11:06 PM Link | Quote
An added bonus is that custom servers have the ability to output data anywher they want. Imagine a live leaderboard for Metroid Prime Hunters that you can look up on a web site. Imagine automatic tournament engines with opponenet selection... The list goes on.
Someguy

Tooky


 





Since: 11-17-05
From: West Virginia-USA

Last post: 6290 days
Last view: 6285 days
Posted on 04-07-06 02:24 AM Link | Quote
Wow, this is amazing, and all this without any mods to your DS or computer? I could do homebrew things with my DS without a wireless card? I already wondred if that would be possible sooner or later, using the wifi adaptor to send things like ds download plays to your DS... but using it to tunnel offline DS games? Imagine.... Meteos online. You are amazing.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6285 days
Last view: 6285 days
Posted on 04-07-06 02:53 AM Link | Quote
If you are opening up the possibility to download code via the internet, does that not also open up the possibility of pirating games using such a method. Hundreds of DS roms already exist and I'm not sure how hard it would be to download those in that form, but still...
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6285 days
Last view: 6285 days
Posted on 04-07-06 03:34 AM Link | Quote
DS piracy already exists in a tangable, usable form. I doubt anything could be done to make it easier at this point. BGNG's work has nothing to do with piracy.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6285 days
Last view: 6285 days
Posted on 04-07-06 04:01 AM Link | Quote
Originally posted by BGNG
It also opens a door for homebrew. With a Download Play transmitter, custom code can be created and uploaded to the DS unit without hacking any hardware whatsoever.


The point is not that the hack would be intended for piracy, but rather that it would immediately be used for piracy, if I understand correctly. It's like any other distribution system. You set up a server that can distribute code "i.e. a rom", to a client's DS. Am I just totally missing something here?

I could argue that my SNES copier is useful for homebrew, but a much larger percentage of people (at least back in the day) used it for piracy.
Guy Perfect









Since: 11-18-05

Last post: 6287 days
Last view: 6285 days
Posted on 04-07-06 03:23 PM Link | Quote
Download Play loads a small ROM image into RAM and executes the code from there. It is impossible to upload an entire commercial ROM to the DS in this manner. The programming of such ROM images makes calls to the cartridge slots, which may very well be empty when the Download Play feature is used.

This project cannot support piracy. It can only provide a Download Play service for multiplayer games that does not require anyone to actually own the game.



EDIT:
Someguy, this project requires that your computer has a wireless adapter of some sort. It also requires Linux since the network architecture differs from Windows. I don't think the Wi-Fi USB connector can transmit non-IP data, so that probably won't be a usable device for this project... if it even works under Linux, which it probably doesn't.

Three things will be needed for what I'm doing:
1) An x86 computer running Linux (since FreeBASIC only compiles for x86)
2) A wireless network card that works under Linux
3) A wireless access point, router or Master mode on an additional network card

Master mode lets a wrieless card operate as a wireless access point. The ndiswrapper software for Linux allows unsupported wireless cards to operate under Linux, but it does not support Master mode. If Master cannot be used, then a wireless access point or wireless router can be used and plugged into a normal Ethernet adapter on the Linux machine.

If Master can be used, then the adapter is running as an access point and can't be used to transmit Ni-Fi information, so a second wireless card will be required.

One wireless card is required either way, since access points and routers are designed to work with IP. The wireless card will be devoted to Ni-Fi communications, which is what the DS uses when it's not using Nintendo Wi-Fi Connection. Again: I doubt the Nintendo Wi-Fi USB Connector is a usable candidate.


(edited by BGNG on 04-07-06 02:42 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6286 days
Last view: 6286 days
Posted on 04-07-06 10:02 PM Link | Quote
Originally posted by BGNG
Download Play loads a small ROM image into RAM and executes the code from there. It is impossible to upload an entire commercial ROM to the DS in this manner. The programming of such ROM images makes calls to the cartridge slots, which may very well be empty when the Download Play feature is used.

Well that and the fact that the DS's 4MB of RAM won't hold a 128MB commercial ROM.
Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Wi-Fi Connection and Linux |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.033 seconds; used 453.00 kB (max 586.82 kB)