Tutorial  Updated

Using "smashhax" with Linux

If you can use the browser, I suggest that you use the new browserhax (up to 11.0.0-33!) in the meantime.

Try out Ubuntu 15.04: http://old-releases.ubuntu.com/releases/15.04/

This requires a New 3DS. The demo version doesn't work and is patched. If you have 1.1.3 or newer delete/disable the update data.

officially called smashbroshax sometimes smashax
Here is a new tool I call smashbroshax-helper. It is a graphical interface for the exploit which simplifies most of the process of broadcasting the packet. It requires almost no setup outside of creating a bootable Linux USB/DVD.

Important notes:
  • This does not work on Fedora or Red Hat-based distributions because aircrack-ng needs to be compiled on it (and I can't figure out how to install the needed things).
  • Don't use a virtual machine!
  • This probably will never work on Old 3DS.
Download smashbroshax-helper beta

It is recommended that you use a live Ubuntu 15.04 image. Versions 15.10+ have issues. http://old-releases.ubuntu.com/releases/15.04/
  1. Create a bootable USB/DVD with a Linux distribution (there are various guides online).
  2. If possible, get a second USB/SD card/storage device, download and save the above .zip to it.
    • Don't extract the contents of it to the USB device, as it might cause problems. Just save the .zip file to it.
    • If you can't do this, you'll have to connect to the Internet while in Linux to download it.
    • If using a bootable USB, make sure you can use two ports at a time. Don't take out the Linux USB while it is being used!
  3. Restart your computer and run the bootable USB/DVD you created.
  4. Extract the contents of the .zip to the Desktop.
  5. Open the smashbroshax-helper folder and double click "smashbroshax.sh".
  6. Follow the on-screen prompts.
  7. If everything goes well, you should now have homebrew!
Video demonstration, from boot to shutdown:

from https://gbatemp.net/threads/tutorial-using-smashhax-with-linux.397194/page-9#post-5842512


If you would like the full tutorial, involving terminal usage and compiling:
To reverse the changes to your wireless interface and remove issues connecting to networks after, rebooting your system or changing it to "Managed" instead of "monitor" should fix it. How to do that is in the second to last section.



@Cydget made a script that condenses most of this into a script. I have not tried it myself yet but it seems to work for others.
So, I made a little script for this. If anybody wants it, then unzip this file and read the readme. And yes, I like to pipe things. http://www.mediafire.com/download/oulnubnzkk9g3i0/smashhaxEZ.zip

Requirements
  • Any Linux distribution should do (this has only been tested with Debian-based distributions). Windows and OS X users should wait or find a method for now, sorry!
    • Please do not use Linux in a virtual machine, it likely won't give direct access to your wireless card. Dual boot or use a live USB/disk.
    • The recommended distro to use is Ubuntu 15.04 (link to Ubuntu MATE 15.04).
  • A Wi-Fi-capable wireless card.
  • Super Smash Bros. for Nintendo 3DS Full or Demo.
  • New 3DS. This does not work on Old 3DS.
  • Patience. The hax is sort-of unreliable so your game will most likely crash a few times.
  • Recommended: Another device to access the internet (phone, tablet, computer, console).
Preparing
  • Install these packages using your package manager. For example, "apt-get" for Debian-based distributions (including Ubuntu).
    Code:
    openssl libssl-dev libnl-genl-3-200 libnl-genl-3-dev libnl-3-200 libnl-3-dev pkg-config
  • Find your wireless card's interface by opening a terminal and using the command "ip link". It would be something like wlan0 or wlp3s0.
    Code:
    ian@ian-VPCEG34FX:~/Desktop/aircrack-ng-1.2-rc2/src$ ip link
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    3: wlan0: <NO-CARRIER,BROADCAST,ALLMULTI,PROMISC,NOTRAILERS,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT mode DORMANT group default qlen 1000
        link/ieee802.11/radiotap xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
  • You probably already have it, but get the homebrew starter kit and place it on your SD card.
  • Download the smashhax .pcap files from the releases section of the smashbroshax repository.
  • Determine the .pcap file to use. This should be straightforward using the file names.
    The built beacon-hax pcaps are located under "pcap_out/". In the filenames, "vXYZ" means game-version "vX.Y.Z". Full-game filenames for USA include "gameusa", while the other regions filenames include "gameother".
  • Get the "Otherapp payload" from the Homebrew Launcher site and save it to "smashpayload.bin" at the root of your SD card.
  • Download and extract aircrack-ng's latest release source.
  • Save aireplay-ng.patch from the smashbroshax repository in the folder "aircrack-ng-1.2-rc2".
Compiling aircrack-ng/aireplay-ng
  • Open a terminal and go to the "aircrack-ng-1.2-rc2" folder.
  • Use the command "patch src/aireplay-ng.c < aireplay-ng.patch". If you get the following then it has succeeded.
    Code:
    patching file src/aireplay-ng.c
    Hunk #1 succeeded at 560 (offset 1 line).
    Hunk #2 succeeded at 573 (offset 1 line).
  • Run "make" and wait. The program should be compiled with the patch now. If you get the following as the last line then it has succeeded.
    Code:
    make[1]: Leaving directory '/path/to/aircrack-ng-1.2-rc2/src'
The moment of truth
  • Run these 3 terminal commands in order, using the wireless interface (from "ip link") you found earlier.
    sudo ifconfig wireless_interface down
    sudo iwconfig wireless_interface mode monitor
    sudo ifconfig wireless_interface up
    sudo iwconfig wireless_interface channel 6​
    (the last line was suggested by @difool. and might make the payload trigger faster)
  • Enter the "src" folder in your terminal.
  • Run the following command to start broadcasting the packet: "sudo ./aireplay-ng --interactive -r /path/to/smashbros_version_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 wireless_interface"
    Use the .pcap file and wireless interface you found out earlier.
  • On the 3DS system, start the game, then choose Smash and Group. Wait for the magic to happen.
Encountering errors? Something confusing?
  • Does running aireplay-ng end with "End of file"? You might be running your installed version of aircrack-ng. Don't forget the ./ for "sudo ./aireplay-ng ..."!
  • Please tell me the distribution you are using and the error you've encountered. This will help me fix your issue faster.
  • If you don't get something, don't hesitate to point it out! I want to help anyone I can.
  • Did you spot an inaccuracy or mistake I made? It would be great if you can tell me that too.
  • This was before the Otherapp payload selector was added to the HBL site. This is kept here for legacy reasons or something.
    • Determine what file you need to get from the Homebrew Launcher Payload section:
      With the release builds, the hax loads the payload from SD "/smashpayload.bin". This should contain the hb-launcher(https://smealum.github.io/3ds/) otherapp payload. Until there's a proper otherapp payload selector on the hb-launcher site, the payload can be downloaded from the following URL(see also https://github.com/smealum/sploit_installer):
      FIRMVER values(without quotes):
      • "POST5" = non-New3DS
      • "N3DS" = New3DS
      REGION values(without quotes):
      • "U" = USA
      • "E" = EUR
      • "J" = JPN
      MENUVER values(without quotes):
      • "11272": Non-JPN, system-version v9.0.
      • "12288": System-version v9.2.
      • "13330": System-version v9.3.
      • "14336": System-version v9.4.
      • "15360": System-version v9.5.
      • "16404": System-version v9.6.
      • "17415": System-version v9.7.
      • "20480_usa": USA, system-versions v9.9-v10.0.
      • "19456": Non-USA, system-versions v9.8-v10.0.
      MSETVER values(without quotes):
      • "8203": System-versions below v9.6.
      • "9221": System-versions starting with v9.6.
      For example, the payload URL for New3DS USA 9.9.0-X - 10.0.0-X is:https://smealum.github.io/ninjhax2/Pvl9iD2Im5/otherapp/N3DS_U_20480_usa_9221.bin
      The end result is a file named "smashpayload.bin" at the root of your SD card.

You are allowed to reproduce/reprint this tutorial, as long as a link back to this page (https://gbatemp.net/threads/tutorial-using-smashhax-with-linux.397194/) is included.
 
Last edited by ihaveahax,
D

Deleted User

Guest
I tried using the helper in one of my laptops(a dell with ubuntu 16), but it would give an error when sending the packages. I tried again on an older laptop(a HP xubuntu this time) and the packages were being sent, but nothing happened on the 3ds. I have a New 3ds XL on 11.1-34U and deleted the smash update data(so I was using the 1.00 version in the helper/) and also have the payload named smashpayload in my microsd card. What can I do? Below is an image of the terminal
do you mind if i see what files are in the root of your SD card? also when you start smash and it is on the screen "press any button" before the main menu, it should state the version on the top screen on the bottom right.
 

3lentropy

New Member
Newbie
Joined
Dec 13, 2016
Messages
4
Trophies
0
Age
26
XP
52
Country
Brazil
do you mind if i see what files are in the root of your SD card? also when you start smash and it is on the screen "press any button" before the main menu, it should state the version on the top screen on the bottom right.
My SD card and start screens are as these pictures:
photo_2016_12_15_00_19_23.jpg
Screenshot_2.png
 
D

Deleted User

Guest
My SD card and start screens are as these pictures:
photo_2016_12_15_00_19_23.jpg
Screenshot_2.png
Things seem to be in order, though it may be that you may have followed a step incorrectly, keep in mind that you have to stay on this screen (attached below) and it should trigger eventually. if it is still not working, try the method on page 25,
1) download the files form my google drive here (https://drive.google.com/open?id=0B4qTpylRpQmNTnR6Nkg4SDlZRHc) and extract the contents to your desktop

2) open terminal and change your directory to the extracted folder "src" within the downloaded files (cd Desktop/smash/aircrack-ng-1.2-rc2/src)

2.5 (optional): move the folder "pcap_out" from the "src" folder and move it to desktop.

3) check what name your wireless card is using the command (ip link) it is usually "wlan0" or "wlp2s0"

4) when you find your wireless card, use these three commands in order to get the data sent to the 3ds (sudo ifconfig "wireless card" down) (sudo iwconfig "wireless card" mode monitor) (sudo ifconfig "wireless card" up)
Remember to change the "wireless card" to the name of your wireless card
So for example, my wireless card is "wlan1" so the command would look like this [sudo ifconfig wlan1 down] [sudo iwconfig wlan1 mode monitor] [sudo ifconfig wlan1up]

5) when that is all set and you're in the /src folder, run this command (sudo ./aireplay-ng --interactive -r /home/"user"/Desktop/smash/aircrack-ng-1.2-rc2/src/pacp_out/smashbros_"version"_beaconhax.pacp -h 59:ee:3f:2a:37:e0 -x 10 "wireless card")

5.5) [Required if you've done step 2.5] if you have done step 2.5, the command you would enter would be: (sudo ./aireplay-ng --interactive -r /home/"user"/Desktop/pcap_out/smashbros_"version"_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 "wireless card")

Remember to change the "user" to what you have your computer username set to, and the "version" for which version of smash bros you have
an example for this would be: [sudo ./aireplay-ng --interactive -r /home/mark/Desktop/smash/aircrack-ng-1.2-rc2/src/pcap_out/smashbros_gameusav100_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 wlan1

6) you should be prompted by the terminal saying "Use this packet?", you need to press "Y" then enter to use the packet

7) with the packets being sent out, go to your NEW 3ds and start smash, select "Smash" from the main menu, Select "Group" next and it should eventually trigger the payload
If you have any questions about this, feel free to pm me.
 

Attachments

  • smashhax.jpg
    smashhax.jpg
    26.9 KB · Views: 259

3lentropy

New Member
Newbie
Joined
Dec 13, 2016
Messages
4
Trophies
0
Age
26
XP
52
Country
Brazil
Things seem to be in order, though it may be that you may have followed a step incorrectly, keep in mind that you have to stay on this screen (attached below) and it should trigger eventually. if it is still not working, try the method on page 25,
1) download the files form my google drive here (https://drive.google.com/open?id=0B4qTpylRpQmNTnR6Nkg4SDlZRHc) and extract the contents to your desktop

2) open terminal and change your directory to the extracted folder "src" within the downloaded files (cd Desktop/smash/aircrack-ng-1.2-rc2/src)

2.5 (optional): move the folder "pcap_out" from the "src" folder and move it to desktop.

3) check what name your wireless card is using the command (ip link) it is usually "wlan0" or "wlp2s0"

4) when you find your wireless card, use these three commands in order to get the data sent to the 3ds (sudo ifconfig "wireless card" down) (sudo iwconfig "wireless card" mode monitor) (sudo ifconfig "wireless card" up)
Remember to change the "wireless card" to the name of your wireless card
So for example, my wireless card is "wlan1" so the command would look like this [sudo ifconfig wlan1 down] [sudo iwconfig wlan1 mode monitor] [sudo ifconfig wlan1up]

5) when that is all set and you're in the /src folder, run this command (sudo ./aireplay-ng --interactive -r /home/"user"/Desktop/smash/aircrack-ng-1.2-rc2/src/pacp_out/smashbros_"version"_beaconhax.pacp -h 59:ee:3f:2a:37:e0 -x 10 "wireless card")

5.5) [Required if you've done step 2.5] if you have done step 2.5, the command you would enter would be: (sudo ./aireplay-ng --interactive -r /home/"user"/Desktop/pcap_out/smashbros_"version"_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 "wireless card")

Remember to change the "user" to what you have your computer username set to, and the "version" for which version of smash bros you have
an example for this would be: [sudo ./aireplay-ng --interactive -r /home/mark/Desktop/smash/aircrack-ng-1.2-rc2/src/pcap_out/smashbros_gameusav100_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 wlan1

6) you should be prompted by the terminal saying "Use this packet?", you need to press "Y" then enter to use the packet

7) with the packets being sent out, go to your NEW 3ds and start smash, select "Smash" from the main menu, Select "Group" next and it should eventually trigger the payload
If you have any questions about this, feel free to pm me.
I actually managed to borrow a OoT copy from a friend so I'll use the Oothax by now, but thanks for the help :D
 
  • Like
Reactions: Deleted User
Joined
Dec 21, 2016
Messages
5
Trophies
0
Age
30
XP
52
Country
Albania
Could someone please create it for me? I really have had it with trying to do the terminal thing on windows. My MAC Address is
7C-BB-8A-C0-FF-24
and I don't care who sees it. Just make the bin for me please somebody lol

I'm on New 3ds with firmware 11.1.0-34U
 

Linkdik

New Member
Newbie
Joined
Dec 28, 2016
Messages
1
Trophies
0
Age
25
XP
47
Country
Cote d'Ivoire
Hi, i have problems launching the .sh file, when I open it, it asks me if I want to start it, then I click on Run and after that nothing happens, why does it happen?
 

TheZeldaBoss

New Member
Newbie
Joined
Dec 30, 2016
Messages
2
Trophies
0
Age
27
XP
51
Country
France
Hello everyone !

I'm actually trying to access homebrew launcher from smashhax on a N3DS 11.2.0-35E with a SmashBros 1.0.1 cardridge, I followed many tutorials, including the ones on this topic, without any success...
With the helper, I get an error while launching aireplay, which is the following one :

ioctl(SIOCSIWMODE) failed: Device or resource busy

ARP linktype is set to 1 (Ethernet) - expected ARPHRD_IEEE80211,
ARPHRD_IEEE80211_FULL or ARPHRD_IEEE80211_PRISM instead. Make
sure RFMON is enabled: run 'airmon-ng start wlp7s0 <#>'
Sysfs injection support was not found either.

I tried the command line way too, but hax is not loading on my 3DS...

Any solutions please ?

PS : is it normal that the window "wifi has been reactivated" (or something like that, I have texts in french) reappears before exiting aireplay ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    So Bonzi buddy was an evil version of Alexa lol
    +2
  • BakerMan @ BakerMan:
    the legal drinking age here in the US is 21, as some of you may know, but i think either it should be 18 or the age you're an adult should be 21.
    +1
  • BakerMan @ BakerMan:
    and i know what you may be thinking, "why become an adult at 21? doesn't that mean that banging an 18 year old would be illegal?"
    first of all, being in a relationship with someone who's 18 is technically ok, as long as it started when they were 18, but the age gap is still weird depending on how old you are. besides, the age of consent differs between different states
    +1
  • BakerMan @ BakerMan:
    also my reasoning for adult age being 21 is because the reason that's the drinking (and now smoking) age is because it "gives them more time to think rationally and not drive drunk"
    so you should have that extra time to mature and think rationally before going to serve in the military or vote
    +1
  • BakerMan @ BakerMan:
    tl;dr the "adult" age and the legal drinking age (and voting age) here in the US should be the same
    +4
  • Psionic Roshambo @ Psionic Roshambo:
    It's all good no one pays attention to the law anyway lol
  • BigOnYa @ BigOnYa:
    What about making kids wait till 18 or 21 to drive? And yea is messed up, you can join army and die for your country at age 18, but you can't drink alcohol or smoke a cig til 21, is ridiculous
    +3
  • Psionic Roshambo @ Psionic Roshambo:
    If someone is in the military they should be allowed to smoke and drink at 18.... Would help drive recruitment lol
    +3
  • BigOnYa @ BigOnYa:
    We all know they do and will anyways. I think laws prevented them only pushes them to illegally do it. Even tho if was legal, most prob wouldn't even bother. Not a big deal or risque if its legal, no fun.
    +2
  • ZeroT21 @ ZeroT21:
    That's why some kids don't mind having a rap sheet or two just so they never get drafted
    +2
  • BakerMan @ BakerMan:
    also, i think the voting age should match the adult and drinking ages too, because by the logic of giving them time to mature and think rationally so they don't drive drunk, then they should also have that time to mature and think rationally so they can think for themselves
    +2
  • BakerMan @ BakerMan:
    fucking hell i'm becoming a mini leo with the way i yap aren't i?
    +1
  • impeeza @ impeeza:
    I was unable to create the VM for the debloat windows, but found the video where I learned it:

    https://www.youtube.com/watch?v=mZm6mY3I7J4
    +2
  • BigOnYa @ BigOnYa:
    No you def no leo, and I like your insight. You are a smart Baked cookie.
  • K3Nv2 @ K3Nv2:
    Chicken drumsticks and sweet potato for dinner tonight turned out good
    +1
  • BakerMan @ BakerMan:
    "i promise not to get all political and/or philosophical"
    3 drinks later:
    "so yeah think for yourself and i think the government sucks"
    +1
  • K3Nv2 @ K3Nv2:
    Is @BigOnYa drunk again
  • BakerMan @ BakerMan:
    no, i was poking fun at myself
  • BigOnYa @ BigOnYa:
    Again? I have a IV feeding me so I never come down.
    +2
  • BakerMan @ BakerMan:
    because self deprecating humor is important, as long as it doesn't turn into self hate. because you can't really make fun of anyone if you can't even make fun of yourself
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Booze enemas are real lol
  • The Real Jdbye @ The Real Jdbye:
    that explains a lot
  • K3Nv2 @ K3Nv2:
    @BigOnYa, invented the first ever pill that gets you instantly hammered, now filling the streets of Miami
    K3Nv2 @ K3Nv2: @BigOnYa, invented the first ever pill that gets you instantly hammered, now filling the streets...