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,

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
duh... ofc github issues. I feel so stupid now. I guess it just didn't come to mind because it doesn't feel like an actual "issue" if you know what I mean

As a student software engineering I feel really bad about myself now

Just initiated it btw. Hoping for the best :unsure:
 
Last edited by Favna,

Cydget

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
duh... ofc github issues. I feel so stupid now. I guess it just didn't come to mind because it doesn't feel like an actual "issue" if you know what I mean

As a student software engineering I feel really bad about myself now

Just initiated it btw. Hoping for the best :unsure:
Also, in the issue could you mention that the usademo doesnt work either.
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
Good news :)

fada31e00a264c002a0e849502576a10.jpg
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
Anyway, if you guys could perhaps help where possible with that? Undoubtedly it will help many people who find this thread.

Edit: because my know-how on programming language us quite limited. I've dealt mainly with java and little be c++ and c# but never C
 
Last edited by Favna,

Cydget

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
Anyway, if you guys could perhaps help where possible with that? Undoubtedly it will help many people who find this thread.

Edit: because my know-how on programming language us quite limited. I've dealt mainly with java and little be c++ and c# but never C
Tomorrow, I will try to build it with the payload you need for your device. What device/firmware are you on?
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
Device: new3ds
Firmware: 10.2.0-28E
(So euro... But i guess you knew that already :P)

Much appreciated!! Let me know :)

Edit: y' know.. when you got it build, I suppose it would be worth it to send it to Yellows8 so he can host it on his releases? I would anyway.. but if you're building then you call the shots
 
Last edited by Favna,

Cydget

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
Device: new3ds
Firmware: 10.2.0-28E
(So euro... But i guess you knew that already :P)

Much appreciated!! Let me know :)

Edit: y' know.. when you got it build, I suppose it would be worth it to send it to Yellows8 so he can host it on his releases? I would anyway.. but if you're building then you call the shots
I dont think he would host it, because he would have to host about 70 different pcap files for the demos. Im still not sure if I can just build it to have it direct to smea's website for the files.
 

EliosPokefan

New Member
Newbie
Joined
Nov 1, 2015
Messages
3
Trophies
0
Age
58
XP
51
Country
Cote d'Ivoire
please help, I'm using ubuntu 15.10
NEW 3DS 10.2.0-28 E
smashbros_gameotherv112_beaconhax.pcap

do all the steps all goes well ... but in the end I get 93 packs send (9pps)
after that I'm going to smash 3ds -> multiplayer (multiplayer in spanish) and wait ... and nothing happens, and waited up to 15 minutes.
I want to know if it is normal midway through the process is disconnected from wi-fi or if that could be causing me any problems. and if you have any topic could be generating some kind of problem, I got ubuntu me just to follow this tutorial and browserhax already died for me because today actualize 10.2 to see if I worked this and again nothing: c. please help me if you can send the link to your video would help a lot.
Translated from Spanish by Google Translate

Spanish:
por favor ayudenme, estoy usando ubuntu 15.10
NEW 3DS 10.2.0-28 E
smashbros_gameotherv112_beaconhax.pcap

hago todos los pasos todo sale bien... pero al final me sale 93 packs send (9pps)
luego de eso me voy al 3ds smash --> multijugador (multiplayer in spanish) y espero... y no ocurre nada, e esperado hasta 15 minutos.
quiero saber si es normal que a mitad del proceso se desconecte del wi-fi o si eso me podria estar generando algun problema. y si tener algun tema podria estar generando algun tipo de problema, me consegui ubuntu solo para seguir este tutorial y browserhax ya murio para mi porque hoy actualize a 10.2 para ver si me funcionaba esto y de nuevo nada :c. ayudenme porfavor y si puedes mandar el link de tu video me ayudaria mucho.
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
i need a tutorial on demo smash hax on windows

--------------------- MERGED ---------------------------

for the O3ds please :^(

Read my screenshot replies above - demos are not currently supported amd need to be manually build. Furthermore, forget ever being able to do this on windows unless you figure out a way yourself.
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
Quote from EliosPokefan:
please help, I'm using ubuntu 15.10
NEW 3DS 10.2.0-28 E
smashbros_gameotherv112_beaconhax.pcap

do all the steps all goes well ... but in the end I get 93 packs send (9pps)
after that I'm going to smash 3ds -> multiplayer (multiplayer in spanish) and wait ... and nothing happens, and waited up to 15 minutes.
I want to know if it is normal midway through the process is disconnected from wi-fi or if that could be causing me any problems. and if you have any topic could be generating some kind of problem, I got ubuntu me just to follow this tutorial and browserhax already died for me because today actualize 10.2 to see if I worked this and again nothing: c. please help me if you can send the link to your video would help a lot.
Translated from Spanish by Google Translate

Spanish:
por favor ayudenme, estoy usando ubuntu 15.10
NEW 3DS 10.2.0-28 E
smashbros_gameotherv112_beaconhax.pcap

hago todos los pasos todo sale bien... pero al final me sale 93 packs send (9pps)
luego de eso me voy al 3ds smash --> multijugador (multiplayer in spanish) y espero... y no ocurre nada, e esperado hasta 15 minutos.
quiero saber si es normal que a mitad del proceso se desconecte del wi-fi o si eso me podria estar generando algun problema. y si tener algun tema podria estar generando algun tipo de problema, me consegui ubuntu solo para seguir este tutorial y browserhax ya murio para mi porque hoy actualize a 10.2 para ver si me funcionaba esto y de nuevo nada :c. ayudenme porfavor y si puedes mandar el link de tu video me ayudaria mucho.

This likely means your network card is incompatible. For starters, grab Cydget's script from a page or two back and try it with that. If it is still unsuccessful, find a cheap WiFi USB stick and use that instead.
 

EliosPokefan

New Member
Newbie
Joined
Nov 1, 2015
Messages
3
Trophies
0
Age
58
XP
51
Country
Cote d'Ivoire
Quote from EliosPokefan:

This likely means your network card is incompatible. For starters, grab Cydget's script from a page or two back and try it with that. If it is still unsuccessful, find a cheap WiFi USB stick and use that instead.


I see the video and the compatible netwotks card isn't appears wlp2s0 (that's my card)... that means I'll have to get an WIFI USB stick? And how to use it?
Translated with the google translator
 

Favna

#PCMasterRace
Member
Joined
Sep 12, 2009
Messages
864
Trophies
1
Website
twitter.com
XP
822
Country
Netherlands
I see the video and the compatible netwotks card isn't appears wlp2s0 (that's my card)... that means I'll have to get an WIFI USB stick? And how to use it?
Translated with the google translator


Most WiFi USB sticks are "plug and play"

Just plug it in and select the wifi network for it.

To disable your build in wifi card run:

Code:
sudo nano /etc/network/interfaces

Then below anything add the line:

Code:
iface wlan0 inet manual
(replace wlan0 with whatever your wifi interface is actually called)

Save this file by using the following chain of shortcuts: Control+O -> Enter -> Control+X

Lastly run:
Code:
sudo service network-manager restart
 

EliosPokefan

New Member
Newbie
Joined
Nov 1, 2015
Messages
3
Trophies
0
Age
58
XP
51
Country
Cote d'Ivoire
Most WiFi USB sticks are "plug and play"

Just plug it in and select the wifi network for it.

To disable your build in wifi card run:

Code:
sudo nano /etc/network/interfaces

Then below anything add the line:

Code:
iface wlan0 inet manual
(replace wlan0 with whatever your wifi interface is actually called)

Save this file by using the following chain of shortcuts: Control+O -> Enter -> Control+X

Lastly run:
Code:
sudo service network-manager restart

ok thanks :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Pretindo already at 73% lol