Using an iDevice to host the Gateway 3.x exploit.

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by purechaos996, Jan 13, 2015.

  1. purechaos996
    OP

    purechaos996 GBAtemp Advanced Fan

    Member
    766
    99
    Nov 5, 2008
    United States
    Connecticut
    The biggest issue with the new Gateway 3.x update is that it requires an internet connection to boot into GW mode. After seeing fellow tempers Shadowtrance and Ivan Garcias android app to host the gateway files from his phone I decided I would attempt to do the same on an iDevice. Shadow and Ivan are in fact planning an iPhone release so this might not be relevant in a few days/weeks but I figured I might as well share my method.

    So first things first, you will need a few things.
    • · A Jailbroken iDevice (I used an old iPhone 4s on IOS6)
    • · A way to add/remove files from the iPhones root folders. (I used open SSH)
    • · All of the gateway payload files/html files. Those can be found here.

    Alright, so in order to do this we first need to set up our iPhone as a sort of webhost. To so this, open up Cydia and add the following repository: http://cydia.angelxwind.net/
    Once added search for something called LightTPD. You want to install two things here, the first and most important being: Touch-lighttpd-php-mysql and the second being Lighttpd Settings. These will basically allow us to host our files on the iDevice.
    Next search the term MySQL and download and install the package from BigBoss.
    Once all those are installed, reboot the device completely.

    Next, head into settings and from here scroll down until you see Lighttpd and MySQL. tap on both of them and set them to enabled.
    Once done you should be able to open safari or any browser and type in http://localhost/
    If done correctly you should be presented with a page that says "It Works" or something like that.
    On that page you will see a link to Adminer, hit that and it will bring you to a login page.
    In the sever field type in localhost. In the username field type root. and set the password to your liking.
    Hit login and wait until it loads the next screen. On the next screen just hit create new database, name it whatever you like and create it.

    Now that our hosting is setup, we need to add the files. There are tons of ways to do this but I did everything with open SSH but feel free to use anything else. You want to navigate to the root/var/www folder, this is where we will be storing the gateway files. Delete everything that is current in there and add the files in the package you downloaded earlier.

    Now that all the files are in place we need to tether our 3DS to the iPhone. I used an app called PDAnet its found on the Cydia store but if you know where to look you can find it for free. This is a simple tethering app which will allow our 3DS to see the iDevice as a hotspot.
    With your iDevice connected to Wi-fi, open PDAnet and turn on Wi-fi hotspot. Enter in the SSID and password if you desire and hit active.

    Now on your 3DS set up a wireless connection as usual and you should see your iDevice's SSID. Perform a connection test and it should be successful. Make sure to write down the IP address of the iDevice because you will need this later. (Should be something like 192.168.X.XX)
    With the 3DS connected to the internet return to iDevice and forget whatever network you are connected to, but leave the Wi-fi enabled. Your 3DS should still be able to communicate with the iDevice and access it's webserver.

    Open the 3DS broswer and type in URL field the IP address and a "/" followed by menu.html so it should read something like this http://192.168.X.XX/menu.html (You might want to bookmark it once you know it works)
    Hit go and it should load up a page with links for each different payload. Select the payload to go along with your firmware version your 3DS is running and watch the magic happen!

    Known Issues:
    The only known issues I've seen is sometimes the 3DS will need to re-sync with the phone which can be solved by setting up the connection again. Another issue is occasionally the exploit will crash before booting into the GW Menu. I believe this may be due to slow transfer speeds but I've only had it happen once early on when testing.

    This is my first time writing a tutorial for anything so I apologize if my formatting is wrong or its not easy to understand. I'll do my best to answer questions and update this main post if need be. :)
     
    bluke likes this.