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,

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
i have an external usb wifi and it work.but i have it for extend the range of the wifi,because i live in fron of my university and the pc wireless card isn't so powerful to grab the signal.and ubuntu not recognize my pc wireless card..but with the usb wifi card all work for me . I suggest to not have the ds and the pc connected to any WiFi... I tried 3 time and all work.. I have a 100% success to launch the homebrew for now...I have the last Ubuntu installed on live USB
janckat try to do ip link and post what u see.

ip link output:
Code:
7: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
  link/ether cc:3d:82:9f:32:20 brd ff:ff:ff:ff:ff:ff

ip link output when in monitor mode on channel 6:
Code:
8: wlan1mon: <BROADCAST,ALLMULTI,PROMISC,NOTRAILERS,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN mode DEFAULT group default qlen 1000
  link/ieee802.11/radiotap cc:3d:82:9f:32:1f brd ff:ff:ff:ff:ff:ff

ifconfig wlan1mon:
Code:
wlan1mon  Link encap:UNSPEC  HWaddr CC-3D-82-9F-32-1F-E0-D1-00-00-00-00-00-00-00-00  
  UP BROADCAST NOTRAILERS RUNNING PROMISC ALLMULTI  MTU:1500  Metric:1
  RX packets:1294 errors:0 dropped:1058 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:161421 (157.6 KiB)  TX bytes:0 (0.0 B)

iw phy0 info (just modes section):
Code:
Supported interface modes:
      * IBSS
      * managed
      * AP
      * AP/VLAN
      * monitor
      * P2P-client
      * P2P-GO
      * P2P-device

airmon-ng start wlan1 6 (manual put into monitor mode is successful):
Code:
PHY   Interface   Driver     Chipset
phy0   wlan1     iwlwifi     Intel Corporation Wireless 7260 (rev 6b)
     (mac80211 monitor mode vif enabled for [phy0]wlan1 on [phy0]wlan1mon)
     (mac80211 station mode vif disabled for [phy0]wlan1)

iwconfig output when in monitor mode:
Code:
wlan1  IEEE 802.11abgn  Mode:Monitor  Frequency:2.437 GHz  Tx-Power=0 dBm   
  Retry short limit:7  RTS thr:off  Fragment thr:off
  Power Management:on

tried on two separate machines with two separate wifi cards that both support monitor mode, no luck. The 3DS doesnt seem to notice the packets. Also, I tried usa112 and other112 pcaps, as I have the usa cart with 112.
Am I missing a prerequisite? Something obvious to you but not me?
 

Metalliguitare

Active Member
Newcomer
Joined
Dec 1, 2015
Messages
26
Trophies
0
Age
37
XP
82
Country
France
Hello there.

Sorry to ask again but i'm stuck since yesterday like janckat. My N3DS can't see the beacon

I deleted all my wifi profiles on the 3DS and disconnected my lan on the PC

Tried ihaveamac method : packets are sent but 3DS don't see the beacon

Tried with SmashhaxEZ :
Code:
aireplay-ng: 2: /airepay-ng: Syntax error: "(" unexpected
/aireplay-ng:1 .aireplay-ng: ENF (*some unclear symbols) not found"

Still nothing happens when i go into Group...

Any help?
I'm using the right pcap (other112)
i've downloaded the right payload (1.3.0-28J)
I put into sd card the starter kit and renamed the payload
The packets are well sent

Thanks again :)
 
Last edited by Metalliguitare,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,834
Country
United States
I am trying to create a program that makes smashbroshax easy to use. I'm testing it on Ubuntu MATE 15.04 32-bit and 64-bit.

it cheats a bit by using lua and bash instead of just bash. but I think it's fine.

when it's done, I'll post a version that I want others to try out, along with a link to the specific distro that I used.

this is what I mean by "easy":
Ou3QdGm.png
 

alkatraz91

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
177
Trophies
0
Age
32
XP
123
Country
Italy
maybe not work with all wireless card? sure u have amed the payload correctly?i not know what to say,i just do the guide with help on how to insert command because i never used linux and it work at the very first try and at the secnd and at the third
 

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
maybe not work with all wireless card? sure u have amed the payload correctly?i not know what to say,i just do the guide with help on how to insert command because i never used linux and it work at the very first try and at the secnd and at the third
yeah the card supports monitor mode. any other dependencies with the card? Ill send what my SD Card looks like, so that perhaps someone can look at that
 

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
not know what is monitor mode :( so your 3ds is an usa 3ds? what fw version did u have?
monitor mode is what the script does when it does "iwconfig wlan0 mode monitor". it is what the main criteria (that I can tell from this post) is for the wireless cards.
N3DS Ver. 10.3.0-28U
I deleted all my wireless profiles, same result.
Going to look at my SD Card structure now
 

alkatraz91

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
177
Trophies
0
Age
32
XP
123
Country
Italy
so u downloaded the other app 10.3.0-28u and named it smashpayload correctly without blank space?and i suggest u to use wlan1,the guide says to use ip link for see the wireless card.the other app file u download have this name? ( N3DS_U_23552_usa_9221) ??
 
Last edited by alkatraz91,

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
so u downloaded the other app 10.3.0-28u and named it smashpayload correctly without blank space?and i suggest u to use wlan1,the guide says to use ip link for see the wireless card.the other app file u download have this name? ( N3DS_U_23552_usa_9221) ??
Yes I downloaded that file. It was called "N3DS_U_23552_usa_9221.bin", and I renamed it to "smashpayload.bin"
Here is my SD Card's contents:
Code:
Z:\boot.3dsx
Z:\smashpayload.bin
Z:\Nintendo 3DS\ (folder filled with update files, etc)
Z:\3ds\ (folder filled with files from the starter kit)
Z:\Themes\ (empty folder)
 

alkatraz91

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
177
Trophies
0
Age
32
XP
123
Country
Italy
it seems to be all fine on the sd side,your game is updated? since it is a usa versione u had to use the pcsp 1.1.2 usa... if u have the chance u can try to make a live usb with the last ubuntu( i am using a live usb with ubuntu a 4 giga pen drive or even 2 is ok for that )
for create it i used a programm called universal usb installer that is really simple to use,then u just have to set in the bios that the usb drive have to load first so u start ubuntu on your usb
 
Last edited by alkatraz91,

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
it seems to be all fine on the sd side,your game is updated? since it is a usa versione u had to use the pcsp 1.1.2 usa... if u have the chance u can try to make a live usb with the last ubuntu( i am using a live usb with ubuntu a 4 giga pen drive or even 2 is ok for that )
for create it i used a programm called universal usb installer that is really simple to use,then u just have to set in the bios that the usb drive have to load first so u start ubuntu on your usb
I tried it using a live usb of debian (what ubuntu is based on) and same result
 

janckat

Member
Newcomer
Joined
Nov 26, 2015
Messages
13
Trophies
0
XP
52
Country
Canada
Did not work when switching to ubuntu.
I plugged in my AirPcap NX card and it worked using that. Clearly, the ability to use monitor mode isn't the only requirement for the wireless card.

Thanks for the help!
Now, to use this door to backdoor my oot3d
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,834
Country
United States
here's the first version of what I call "smashbroshax-helper". it's essentially a graphical interface for using the hax, and requires almost no setup outside of creating a bootable Linux USB/DVD.

https://ianburgwin.net/hax/smashbroshax-helper.zip
  1. create a bootable USB/DVD with a Linux distribution (there are various guides online). I highly suggest Ubuntu MATE 15.04 (or another Ubuntu 15.04 derivative). you can download it at https://ubuntu-mate.org/vivid/
  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 prompts.
  7. hopefully enjoy your hax!
video demonstration:


if you are encountering problems, please post them here.
 

Cydget

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
493
Trophies
0
Age
27
XP
260
Country
United States
here's the first version of what I call "smashbroshax-helper". it's essentially a graphical interface for using the hax, and requires almost no setup outside of creating a bootable Linux USB/DVD.

https://ianburgwin.net/hax/smashbroshax-helper.zip
  1. create a bootable USB/DVD with a Linux distribution (there are various guides online). I highly suggest Ubuntu MATE 15.04 (or another Ubuntu 15.04 derivative). you can download it at https://ubuntu-mate.org/vivid/
  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 prompts.
  7. hopefully enjoy your hax!
video demonstration:


if you are encountering problems, please post them here.

Nice video, Also, your username is ihaveamac buy you are not using a macbook. FRAUD!!! lol jk
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
here's the first version of what I call "smashbroshax-helper". it's essentially a graphical interface for using the hax, and requires almost no setup outside of creating a bootable Linux USB/DVD.

https://ianburgwin.net/hax/smashbroshax-helper.zip
  1. create a bootable USB/DVD with a Linux distribution (there are various guides online). I highly suggest Ubuntu MATE 15.04 (or another Ubuntu 15.04 derivative). you can download it at https://ubuntu-mate.org/vivid/
  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 prompts.
  7. hopefully enjoy your hax!
video demonstration:


if you are encountering problems, please post them here.

This is awesome mate!
 

Acryt

Well-Known Member
Member
Joined
Aug 22, 2015
Messages
310
Trophies
0
XP
169
Country
United States
here's the first version of what I call "smashbroshax-helper". it's essentially a graphical interface for using the hax, and requires almost no setup outside of creating a bootable Linux USB/DVD.

https://ianburgwin.net/hax/smashbroshax-helper.zip
  1. create a bootable USB/DVD with a Linux distribution (there are various guides online). I highly suggest Ubuntu MATE 15.04 (or another Ubuntu 15.04 derivative). you can download it at https://ubuntu-mate.org/vivid/
  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 prompts.
  7. hopefully enjoy your hax!
video demonstration:


if you are encountering problems, please post them here.

You are a god to the people who can't figure out Linux. I was always hesitant to link people I know that want homebrew to smash hax just because of this.
 
  • Like
Reactions: ihaveahax

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/_sJ79aDQTeQ?si=dCPYbyGhZ8OFK8nb