• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Reverse Engineering WFC

Buey

Smash Rookie
Joined
Sep 15, 2005
Messages
14
Location
Cupertino, CA
So, has anyone thought of Wiresharking the WFC, reverse engineering the protocol, and writing an emulator and a real interactive friend finder/ranking system to expand on the friend finding and bypass all the horrible connectivity problems that we've been having? I doubt that Nintendo will eventually deal with this in a way that is sufficient. Any patch that they'd release for Brawl would probably be enormous...and the Wii only has 512 MB flash...

A P2P DHT would work pretty well for this. Have each user set up a dedicated wireless channel using a secondary NIC and have the computer masquerade as the Nintendo server, or have the user set up a fake DNS server on their PC that catches requests going to the Nintendo WFC service (if the Wii connects by hostname, I haven't looked into it yet).

The project could logically be split into three parts:

PHP matchmaking server that exposes an RPC interface for the GUI clients. Also functions as the DHT central index.

A GUI for the user's PC, where they can sign on to the service, view connectivity with their Wii, browse rankings/etc. Flex/AIR would be a good platform for this.

The WFC emulator daemon, which communicates directly with both the Wii and the GUI. Written in Java? Or something else portable.

Would anybody be interested in starting or joining a project for this? If you are, reply with which part you'd like to help with. I'd probably only try to get into this if there's a fair amount of interest.

I originally posted in the Brawl Online forum, but this seems like a better place to find coders.
 

PanzerOceania

Smash Ace
Joined
Feb 2, 2008
Messages
640
Location
Salem, Oregon USA
Buey, do you have any experience with this sort of thing? I believe that if you spearheaded the project, and showed you were serious, people WOULD join with you, I would right now sadly, I have a very limited knowledge of online protocol systems and networking, best of luck and if I ever get the knowhow I'll drop you a line.

GOOD LUCK!
 

Buey

Smash Rookie
Joined
Sep 15, 2005
Messages
14
Location
Cupertino, CA
I haven't really done this type of reverse engineering work myself, but I do know how to go about doing it. The other two parts, I have experience in. I would work on this myself (probably spearheading it), but I want to see if others would want to get involved, what the skill distribution is, etc.
 

zamz

Smash Journeyman
Joined
Apr 30, 2008
Messages
291
I'm sure more people would be willing to join you if they knew your background. What experience do you have?
 

Dark 3nergy

Smash Hero
Joined
Aug 15, 2008
Messages
6,389
Location
Baltimore, MD
NNID
Gambit.7
3DS FC
4313-0369-9934
Switch FC
SW-5498-4166-5599
I also support this, but i dont have very much to go on in the way of coding. I helped a programmer buddy of mine program a LUA AI before. Thats pretty much the extent to my knowledge.

There are some good programmers floating around here, so give this thread some time to gather attention.
 

bobson

Smash Lord
Joined
Jul 28, 2008
Messages
1,674
I'm not sure how much real support you'll get around here, as those with both the skills to help and the ambition to care are stretched fairly thin. You'll get a lot of "I can't help, but I support you!"s and "Well I can make a calculator in DOS if you need one"s and you'll never be at a loss for beta testers, but you'd probably be better off looking around a coding forum or the like if you need developers.

Could be wrong, though. Smashboards has shown uncanny talent in the past.
 

Bakuryu

Smash Ace
Joined
Sep 16, 2005
Messages
507
Location
Breinigsville, PA
I'm not sure how much real support you'll get around here, as those with both the skills to help and the ambition to care are stretched fairly thin. You'll get a lot of "I can't help, but I support you!"s and "Well I can make a calculator in DOS if you need one"s and you'll never be at a loss for beta testers, but you'd probably be better off looking around a coding forum or the like if you need developers.

Could be wrong, though. Smashboards has shown uncanny talent in the past.
What bobson its completely true aside from the hackers already hard at work making codes for brawl+ I doubt much help can be found here, everyone supports they idea here. A programming site would be your best bet for recruiting though so if any of them are Smash fans XD
 

ShortFuse

Smash Lord
Joined
May 23, 2007
Messages
1,523
Location
NJ/NYC
You're overcomplicating. Just Spoof the WFC server. You don't need to modify the game for anything. The only thing the console saves are the friend codes. Everything else is server sided. The names, the icon, the text, the IPs, they're all given by the server

If you can successfully figure what packets are sent, you can spoof it via a DNS redirection. I was looking into this when I wrote my Online Play Thread a few months back
http://www.smashboards.com/showthread.php?t=150768

They use GameSpy servers. I don't think they use straight IPs but DNS's. Use a Man in the Middle attack to read what's going on. Then you can control what's information is sent back to the clients.
 

cAm8ooo

Smash Lord
Joined
Dec 22, 2005
Messages
1,059
Location
Kentucky
Shortfuse. I dont understand what in the **** your saying but you make it sound very possible. :)
 

Xane

Smash Journeyman
Joined
Sep 19, 2007
Messages
335
Location
Germany
NNID
XaneFeather
3DS FC
3866-8124-2065
GameSpy and XML, they're actually sending more stuff than needed.
 

Buey

Smash Rookie
Joined
Sep 15, 2005
Messages
14
Location
Cupertino, CA
You're overcomplicating. Just Spoof the WFC server. You don't need to modify the game for anything. The only thing the console saves are the friend codes. Everything else is server sided. The names, the icon, the text, the IPs, they're all given by the server

If you can successfully figure what packets are sent, you can spoof it via a DNS redirection. I was looking into this when I wrote my Online Play Thread a few months back
http://www.smashboards.com/showthread.php?t=150768

They use GameSpy servers. I don't think they use straight IPs but DNS's. Use a Man in the Middle attack to read what's going on. Then you can control what's information is sent back to the clients.
Yeah, that was the idea, the rest of the stuff I put down was for fleshing out the capabilities of the system (since people would love rankings, etc.) Nice starting point, since they use DNS resolution, DNS redirection should work fine, as long as people can access their router configs. Also, the DHT P2P system might be required, 'cuz if GameSpy's servers can't handle the load, I don't think any server that we could deploy would handle the load either. Some sort of P2P overlay may need to come into play.

I put all that other stuff down because it's largely independent of the network part. If people are skilled in PHP, or in Flash/Flex, they can help out without having to know anything about the other parts.

I will start looking into this once I'm done with my term papers.
 

Lawlb0t

Smash Lord
Joined
Jul 21, 2007
Messages
1,731
Location
360 Degrees
Helping people access their router configs wouldn't be hard. I doubt the majority people are on a shared network at a small apartment, even then they can talk to the admin/landlord. As long as you can sync it well like GGPO or Xlinkkai so we can play people from greater distances/greater ping.

I wouldn't be of use to you though because I never payed attention in programming class .__.
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
Hey, I just saw this thread in this room.

I'm really busy with my own school stuff, but it might be fun to reverse Nintendo's file formats or network protocols. We know they send "button press info", but the exact format is going to be necessary for a program like this.

Also, Buey and ShortFuse, I sent you guys a group membership invite. ;)
 

Gravyguy101

Smash Cadet
Joined
Apr 12, 2006
Messages
55
Location
Philadelphia, PA
Honestly if we can do this, we can keep our systems from being detecting from Nintendo, and we can get a better online system. Thus keeping making a better online experience. With no Banning.

I'm in a high level networking class now. And my professor has significant experience with networking. So if you need some help let me know what you need to get done and I can ask him if I am unable to figure it out.
 

Xaej

Smash Cadet
Joined
Jan 28, 2008
Messages
48
Location
Florida
I think a p2p overlay is going to be the way to go.

If Gamespy's servers cannot adequately handle the load of Brawl, I highly doubt we're going to find one that can.

On a very basic level, a decent starting point might be just checking pings from one wii to another, to see if p2p is even possible. If it is, you smarter networky people might go from there :)
 

KAT0N

Smash Apprentice
Joined
May 27, 2008
Messages
173
Location
Central Ohio
I don't know if you are familiar with GGPO, its an arcade emulator with nearly no lag. If a build on this was possible that would be outstanding.
 

Dark Sonic

Smash Hero
Joined
Jun 10, 2006
Messages
6,021
Location
Orlando Florida
"Lag begone!"

I think it's a pretty catchy name for the finished product.

randomguy1: Hey smashboards, is there any way to reduce lag on online play?
smashboards: Sure, just use Lag Begone.

lol
 

☆_Mutha-Foxin GangstaKirby_☆

Banned via Warnings
Joined
Oct 15, 2008
Messages
1,672
Location
waiting for mars to hurry up with that **** blunt
This poject may become very important if the news about Nintendo banning HBC users from WFC is true.
its true... when nintendo unbans players for hbc they are only going to continue to ban NONwith-friends hackers :/ idk y they dont just start that way tho

also, how would they change the server the information is being sent to? idk ALOT about networking things but i just need to know these 3 things and i might be able to help with this.

1. hows the server system at gamespy work? do they have a wii recieving and sending data on their end or is it a comp or other thing?

2. would direct connection from 2-4 wiis be possible?

3. where would we "reverse engineer" the data to be sent to? and is it faster/free-er than gamespy?
 

Buey

Smash Rookie
Joined
Sep 15, 2005
Messages
14
Location
Cupertino, CA
Well I'm going to look into this regardless, I'll start by capturing some packets I guess
If you can do this successfully, let me know...I don't have any machines running Linux natively and most of the wireless cards my computers have are crappy and don't have monitor mode support.
 

Shadic

Alakadoof?
Joined
Dec 18, 2003
Messages
5,695
Location
Olympia, WA
NNID
Shadoof
3. where would we "reverse engineer" the data to be sent to? and is it faster/free-er than gamespy?
You do your best to emulate what Nintendo does, but most likely just have it be Player-to-player.

The less interference between two people, the less lag you'll get.
 

Gravyguy101

Smash Cadet
Joined
Apr 12, 2006
Messages
55
Location
Philadelphia, PA
well I have a Linux box, but I either need to grab another ethernet card, or a hub in order to Wireshark the data I think. I'm gonna see what the computing center has lying around
 
Top Bottom