? Connecting to SB's multiplayer from a PC, etc? (Page 1) ● SmileBASIC Source Forums

Sign In

Register
*Usernames are case-sensitive
Forgot my password
Another contest? You asked for it!

Connecting to SB's multiplayer from a PC, etc?

  • #1 ✎ 14 benjymous Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Day Person I like the warm sunshine and wake up early! Express Yourself Reading I like to read books! Hobbies Has anyone figured out how to connect a PC to SB's multiplayer sessions? I've figured out that it creates a WEP WiFi access point with a hidden SSID but I need to sit down with some tools to crack the password (which must be hard coded in order for other 3DSs to connect to it) If we can get in, then I can imagine it'd open all sorts of doors (e.g easily sync files so you can edit on the PC and copy it over) Anyone got any ideas? Posted
  • #2 ✎ 149 Nathaniel Spring 2017 Contest Winner I won the SmileBASIC Source Spring 2017 Contest! Programming Contest Helper Received for being very helpful around SmileBASIC Source Achievements Staff Pick "Your program is one of our favorites!" - Staff Achievements Every time the player uses "MPSTART" It uses a "Communication identifier string". That string has something to do with the SSID I'm not sure what the exact relation is. Posted
  • #3 ✎ 140 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength April Fool's 2017 Contest Participant I participated in the SmileBASIC Source April Fool's 2017 Contest! Programming Contest Forum Contributor Hidden Achievements This concept seems interesting. If we find a way to crack the multiplayer system, a whole new world could open up for SB programs. Heck, we could probably implement an internet system for SB with this! Posted
  • #4 ✎ 14 benjymous Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Day Person I like the warm sunshine and wake up early! Express Yourself Reading I like to read books! Hobbies Here's what I know so far
    1. The 3DS creates a hidden WiFi AP using WEP encryption- this can be detected using WiFi scanning tools (which let you attempt to connect even if you don't know the SSID)
    2. This is good, as WEP is by far the weakest form of WiFi encryption, and simplest to crack.
    3. You can recognise the AP from the manufacturer ID embedded in the MAC address so we should be able to spot the AP even if we can't decode it's name
    4. It's possible the password is related to the identifier string given to the MPSTART command, but really need two 3DSs each with Smile Basic so we can use something like WireShark to sniff the connection and figure it out.
    5. Assuming the password is always the same given the same setup params (since two devices running the same program need to be able to connect to each other) then it shouldn't matter if we can't figure out how the password is generated, we just need an example of one.
    6. Once we're connected to the AP we'll need to figure out the connection protocol - hopefully this is something simple, but there's no guarantees.
    Posted Edited by benjymous
  • #5 ✎ 149 Nathaniel Spring 2017 Contest Winner I won the SmileBASIC Source Spring 2017 Contest! Programming Contest Helper Received for being very helpful around SmileBASIC Source Achievements Staff Pick "Your program is one of our favorites!" - Staff Achievements
    1. It's possible the password is related to the identifier string given to the MPSTART command, but really need two 3DSs each with Smile Basic so we can use something like WireShark to sniff the connection and figure it out.
    I have two functional 3DS's with SmileBASIC (If you want me to try something).
    Posted
  • #6 ✎ 14 benjymous Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Day Person I like the warm sunshine and wake up early! Express Yourself Reading I like to read books! Hobbies
    1. It's possible the password is related to the identifier string given to the MPSTART command, but really need two 3DSs each with Smile Basic so we can use something like WireShark to sniff the connection and figure it out.
    I have two functional 3DS's with SmileBASIC (If you want me to try something).
    You'd also need the necessary knowhow (and compatible hardware) to run WiFi Sniffing tools (this require specific compatible wifi cards, so aren't necessarily usable by anyone) e.g. http://www.wirelesshack.org/step-by-step-kali-linux-and-wireless-hacking-basics-wep-hacking-part-3.html
    Posted
  • #7 ✎ 387 MasterR3C0RD Helper Received for being very helpful around SmileBASIC Source Achievements Second Year My account is over 2 years old Website osu! Is Awesome! I love osu! Express Yourself The "WiFi" access point is just a beacon for the thing the 3DS uses for local communication called UDS. It has encryption, which can only be decrypted with keys from the 3DS itself and SmileBASIC. You can read up on UDS on 3DBrew Posted
  • #8 ✎ 14 benjymous Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Day Person I like the warm sunshine and wake up early! Express Yourself Reading I like to read books! Hobbies
    The "WiFi" access point is just a beacon for the thing the 3DS uses for local communication called UDS. It has encryption, which can only be decrypted with keys from the 3DS itself and SmileBASIC. You can read up on UDS on 3DBrew
    So does that mean, if we can get the keys, we don't need to worry about the "WiFi" at all. But... if you need a device specific key to decrypt the communications, how do two 3DSs talk to each other, since they won't have each others keys?
    Posted
  • #9 ✎ 387 MasterR3C0RD Helper Received for being very helpful around SmileBASIC Source Achievements Second Year My account is over 2 years old Website osu! Is Awesome! I love osu! Express Yourself
    The "WiFi" access point is just a beacon for the thing the 3DS uses for local communication called UDS. It has encryption, which can only be decrypted with keys from the 3DS itself and SmileBASIC. You can read up on UDS on 3DBrew
    So does that mean, if we can get the keys, we don't need to worry about the "WiFi" at all. But... if you need a device specific key to decrypt the communications, how do two 3DSs talk to each other, since they won't have each others keys?
    Dumping the keys and sharing them publicly would be illegal I believe. The only other way to get them is homebrew. The 3DS keys are the same for every 3DS, and the SmileBASIC key is the same for every copy of SmileBASIC.
    Posted
  • #10 ✎ 140 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength April Fool's 2017 Contest Participant I participated in the SmileBASIC Source April Fool's 2017 Contest! Programming Contest Forum Contributor Hidden Achievements
    The "WiFi" access point is just a beacon for the thing the 3DS uses for local communication called UDS. It has encryption, which can only be decrypted with keys from the 3DS itself and SmileBASIC. You can read up on UDS on 3DBrew
    So does that mean, if we can get the keys, we don't need to worry about the "WiFi" at all. But... if you need a device specific key to decrypt the communications, how do two 3DSs talk to each other, since they won't have each others keys?
    Dumping the keys and sharing them publicly would be illegal I believe. The only other way to get them is homebrew. The 3DS keys are the same for every 3DS, and the SmileBASIC key is the same for every copy of SmileBASIC.
    Are you saying that someone with homebrew could find out the keys and post them? Why would it be illegal though?
    Posted Edited by HTV04
  • #11 ✎ 387 MasterR3C0RD Helper Received for being very helpful around SmileBASIC Source Achievements Second Year My account is over 2 years old Website osu! Is Awesome! I love osu! Express Yourself
    The "WiFi" access point is just a beacon for the thing the 3DS uses for local communication called UDS. It has encryption, which can only be decrypted with keys from the 3DS itself and SmileBASIC. You can read up on UDS on 3DBrew
    So does that mean, if we can get the keys, we don't need to worry about the "WiFi" at all. But... if you need a device specific key to decrypt the communications, how do two 3DSs talk to each other, since they won't have each others keys?
    Dumping the keys and sharing them publicly would be illegal I believe. The only other way to get them is homebrew. The 3DS keys are the same for every 3DS, and the SmileBASIC key is the same for every copy of SmileBASIC.
    Are you saying that someone with homebrew could find out the keys and post them? Why would it be illegal though?
    Because the encryption keys are copyrighted by Nintendo, and releasing it would be against the DMCA
    Posted
  • #12 ✎ 14 benjymous Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Day Person I like the warm sunshine and wake up early! Express Yourself Reading I like to read books! Hobbies
    Because the encryption keys are copyrighted by Nintendo, and releasing it would be against the DMCA
    Good point. In the US this has parallels with the DVD encryption key saga ( https://en.m.wikipedia.org/wiki/AACS_encryption_key_controversy) However, jailbreaking *is* legal (in the US), so presumably a small homebrew app that retrieved the necessary keys would be perfectly legal for personal use... It just wouldn't be legal to share those keys in places where the DMCA laws apply
    Posted