HENkaku - Information & Support for Vita & PlayStation TV (PSTV)

Discussion in 'HENkaku' started by STLcardsWS, Jul 31, 2016.

  1. 8,965
    9,134
    1,172
    STLcardsWS

    STLcardsWS Administrator

    Joined:
    Sep 18, 2014
    Messages:
    8,965
    Likes Received:
    9,134
    Trophy Points:
    1,172


    • HENkaku works ONLY with 3.60 FIRMWARE
      HENkaku_PSTV-VITA.png
      With a PS Vita or PlayStation TV visit: https://henkaku.xyz/



    • "HENkaku is developed by molecule. We are Davee, Proxima, xyz, and YifanLu. We were the first to hack the PSP compatibility mode on the Vita, the first to dump memory from the Vita, and the first to run native code on the Vita. We are now the first to bring you a homebrew enabler for the Vita." - Team molcule

      Installing HENkaku [ONLINE / OFFLINE]
      (Official Instructions from Team molecule]

      Online Installer
      You must run the installer each time you reboot the device before you can launch any homebrew application. You do not need to reinstall when you place the device into sleep mode. If you press the power button once, you are in sleep mode and do not need to reinstall HENkaku. If you hold the power button and then choose the option to Power Off, then you do need to reinstall HENkaku. You also need to reinstall if the battery runs out. Installing HENkaku requires an internet connection.

      The first time you install HENkaku, a new bubble named “shell” will show up in LiveArea. This application allows you to install other homebrew bubbles. However, once you reboot the device, molecularShell and any other homebrew bubbles you installed will not be able to be launched until you run the installer again.
      It is important that you never update your Vita past 3.60 firmware (as Sony has patched HENkaku in 3.61) if you ever wish to use HENkaku now or in the future. If you do update, all your installed homebrew will no longer work and you cannot install any homebrew in the future.[/spoiler]​

      Installation

      1. Make sure your Vita is running firmware 3.60
      2. Open the Web Browser application and visit https://henkaku.xyz
      3. Press the “Install” button
      4. You will get a “Welcome to HENkaku” message. Press “OK”
      5. Once the installation is complete, the browser will be closed automatically
      Hint: If you've installed HENkaku before, you can install it again directly from molecularShell's LiveArea. Just open the "shell" bubble and use the orange "install" button.​



      Offline Installer
      We now have a solution for people who do not have constant internet access. The HENkaku Offline Installer will hijack the Email application such that you can install HENkaku after reboot using the Email application instead of visiting the website. Download the official Installer ----> here.


      Run the Official; Installer (Homebrew) once with HENkaku installed and hijack the email application to install HENkaku again the next reboot–no internet needed.​

      To install or update HENkaku offline:

      1. First, install and activate HENkaku from https://henkaku.xyz
      2. Download the Offline Installer VPK and install it
      3. Launch the offlineInstaller bubble
      4. Follow the instructions: press CROSS to install
      5. (Do not delete the bubble after the exploit is installed. You should redo the installation when you have internet access to ensure that you get the latest version of HENkaku)

      To run HENkaku offline:

      1. Reboot your PS Vita
      2. Disable Wi-Fi
      3. Open Email app. If at some point it asks you to enable wifi, press “No”. If you have wifi switched on, the message list will not load.
      4. If you have multiple email accounts, select “HENkaku Offline”
      5. Select “Inbox”, then click on the first email
      6. Wait about 10-20 seconds. You might get a “Please wait” screen multiple times. You might also get an “An error has occurred” screen multiple times. If you get any of these more than five times in a row, reboot your Vita and try again.
      7. You should see the same screen as with online installation (black screen with text and molecule logo)

      To uninstall HENkaku offline:

      1. Launch offlineInstaller
      2. Press CIRCLE to uninstall

    • Troubleshooting


      Error C1-6775-5 when launching molecularShell

      • You must run the HENkaku installer again. Follow the directions above.

      The web browser shows grey “Please wait…” screen
      • This is normal. Just wait for it, eventually it should load the page and trigger the exploit.

      The web browser crashes (error C2-12828-1) and an error report dialog appears BEFORE “Welcome to HENkaku” pops up

      • Press “OK” and try again. If the browser crashes more than three times in a row, you can quit the browser (Press the PS button and swipe the LiveArea page from the top right corner or hold the “O” or “X” button depending on your region). Then you can re-attempt installation.

      The web browser crashes (error C2-12828-1) and an error report dialog appears AFTER “Welcome to HENkaku” pops up
      • Press “OK” and try again. If this happens more than three times in a row, you should reboot the system and try again.
      • If the web browser keeps crashing, and you’ve already rebooted your Vita at least five times in a row, try the following:
        • Delete your cookies. To do that, open the web browser, open the menu and click on “Delete Cookies”.
        • Close all your web browser tabs, reboot PS Vita and try going to http://go.henkaku.xyz directly, without visiting https://henkaku.xyz.
        • Try switching to another internet connection: a firewall or your ISP could be interfering with the proper operation of the exploit.

      The device freezes or reboots after trying to install
      • If the device froze, hold the power button for 15 seconds to manually power off the device and then press the power button again to restart the device. You can then attempt to install again.

      The web browser automatically closed after installation

      • That is the expected behavior. HENkaku should now be installed. You can launch homebrew applications including molecularShell (see usage directions below).

      The screen becomes black after the installation
      • Press the home/PS button and close the browser manually. Installation should be successful.

    • Using molecularShell

      The first time you install HENkaku, the molecularShell bubble will be added to your LiveArea. This will be your portal to installing homebrew.​


      Installing Homebrew

      1. The homebrew package you wish to install should be a file with the .vpk extension.
      2. Make sure Wifi is enabled and you are connected to the same network as the host computer.
      3. Open “shell” by launching the bubble.
      4. Press SELECT to start a FTP server. Please note that the FTP server is not password protected. Only run it on a trusted local network.
      5. Note the IP address displayed in a message popup.
      6. Open your FTP client on the host computer and connect to that IP address.
      7. Navigate to “ux0” (this is the root of your memory card or internal storage) and you can upload the .vpk package here or in any subdirectory.
      8. Once you upload all the packages you wish to install you can disconnect the client.
      9. Back in molecularShell, press CIRCLE to stop the FTP server.
      10. Navigate to “ux0:” and then to where you placed the packages. To install, select the package and press X.
      moleculeShell: Troubleshooting

      Error C1-6775-5 when launching molecularShell
      • You must run the HENkaku installer again. Follow the directions above.

      FTP error

      • Check if you have a firewall on the host computer. Also make sure you’re on the same network as the host.

    • Running Homebrew
      • Once you installed HENkaku, running homebrew is as simple as launching the installed bubble directly from LiveArea!

      HENkaku Homebrew can be found @:

    • Official Support
      • Running into problems? You can find us on FreeNode IRC at #henkaku. Community support will also be provided in the subreddit /r/vitahacks.

    • Developer
      Vita homebrew are written with the unoffical SDK, which is a modified ARM EABI toolchain. You get access to all the same public APIs found in the official SDK (which is available only to Sony licensed developers) as well as many private APIs which allows, for example:
      • Change device clock speed from the default 333MHz up to 444MHz
      • Access the memory card, internal user partition, and other filesystems
      • Allocate executable memory for JIT or dynamic recompilation

      Setup

      Automatic Installation
      • You can build the toolchain using vdpm. This script lets you easily set up the toolchain from source and also install some common dependencies such as libpng/libjpeg/vita2dlib/etc. Follow the directions from there.

      Manual Installation
      1. Get the toolchain
        1. Use the prebuilt toolchain, available for Linux, OSX, and Windows
        2. For those who want to do more work, you may build the toolchain from scratch using the buildscripts by following the directions there.
      2. Install the toolchain to a directory of your choice
        1. We recommend /usr/local/vitasdk for both Linux and OSX
        2. On Windows, it is recommended you install MSYS2 and make (pacman -S make) in order to use Makefiles.
      3. Setup the $VITASDK path variable to point to where the toolchain is installed
        1. On Linux/OSX you can add export VITASDK=/path/to/toolchain to your Bash profile.

      Usage
      • You can find various sample code here. Build them and play around with the code to familiarize yourself with the environment. You can also look at the showcase to see some more advanced code. Unfortunately, there currently does not exist comprehensive documentation for the unoffical SDK. If you have the time, please help us with that!

      Build process
      You should look at the makefiles for the sample code, but here’s a breakdown:
      • Compile your .c/.cpp files to .o with arm-vita-eabi-gcc -c -o file.obj file.c
      • Link your .o files into an .elf file, using -Wl,-q option: arm-vita-eabi-gcc -Wl,-q -o homebrew.elf file1.o file2.o file3.o
      • Make a .velf file out of the .elf file: vita-elf-create homebrew.elf homebrew.velf
      • Make a eboot.bin file out of the .velf file: vita-make-fself homebrew.velf eboot.bin
      Library usage
      In order to use functions from the Vita’s runtime library (beyond the C/C++ standard libraries and SceKernel), then in addition to including the required headers you also need to statically link against the corresponding modules’ stub libraries. In some cases, it’s also necessary to load the sysmodule and/or call the library’s initialisation function before using any of its other functions.
      For instance, to use the sceNetConnect function, you need to follow the following process:​
      • Find the header that declares this function and include it in your code: #include <psp2/net/net.h>
      • Find the name of the module the function is in in the import database and link against its stub library. In this case, it’s sceNet, so the corresponding linker option would be -lSceNet_stub.
        • This name is usually also the function’s prefix, but not always.
        • If you’re building using a Makefile similar to the one in the net/http sample, the proper way to do this would be to append the option to the LIBS line (though of course the net/http sample already links against this particular library)
      • Check the list of sysmodules for a reference to your library. In this case, we need SCE_SYSMODULE_NET.
        • sceSysmodule is itself a library (though not a sysmodule) you need to include and link against as per these steps.
        • You need to ensure the sysmodule is loaded before calling any of its functions: if(sceSysmoduleIsLoaded(SCE_SYSMODULE_NET) != SCE_SYSMODULE_LOADED) sceSysmoduleLoadModule(SCE_SYSMODULE_NET)
      • Look up the header for your library (so in this case net/net.h. If it has an initialisation function, you may need to call this before using any other functions.
        • In this case, see the aforementioned net/http sample for details.
      Making a .vpk
      • Homebrew installer uses a .vpk format which is just a ZIP file, start from this template (try installing it from the shell) * replace eboot.bin with your eboot.bin * you can also add template.xml and stuff like icon/background/etc that will be displayed in LiveArea, check out how it’s done in molecularShell (launch it and go to app0:) * make sure to run pngquant on all your png images * to make param.sfo, use vita-mksfoex -s TITLE_ID=XXXX00001 "homebrew name" output/param.sfo
      • When developing homebrew instead of rebuilding the vpk and reinstalling it on every change, you can upload your new eboot.bin to ux0:app/TITLE_ID/eboot.bin over ftp
      • NB: all files you place to .vpk will be available as read-only inside app0:. For example, you can add vpk/something.txt and later in your app read app0:something.txt. In the same way, you can read app0:sce_sys/param.sfo and app0:eboot.bin.

      Future
      • The development community is still in its infancy. Do not be scared at all the new tools and terms. We are actively developing easier tools and templates to do the work, so the process will only be easier in the future. If you run into any issues, please check out the support options below.

      Showcase
      • You can request to add your homebrew to the showcase.
      1. To do so, first fork the website on GitHub.
      2. Create a new file _homebrew/x-name.md where x is a unique id which you should choose as the next available number and name is a short-name for your homebrew.
      3. Fill the contents of _homebrew/x-name.md appropriately. Look at one of the other entries as a template. The fields should be self explanatory.
      4. Take a screenshot of the homebrew, make sure it is a PNG file and copy it to assets/homebrew/x-name.md where id and name should be the same as above. For the best results, make sure your screenshot is 240x136.
      5. Commit the changes and send a pull request.

      Support

      • Running into SDK related issues? Need help setting up the toolchain? Want advice on how to do something with vitasdk? You can find the community of developers on FreeNode IRC at #vitasdk. Please only join for development related support! General support can be found at #henkaku.

    • History of Changes for HENkaku

      Release 4 (August 30, 2016)
      • Fixed issue where YouTube did not work
      • Added support for PSTV and Vita Slim internal storage
      • Updated to VitaShell 0.86

      Release 3 (August 27, 2016)

      • PSN spoofing: You can access PSN without updating to 3.61! Please continue reading for some important notes.
      • Safe homebrew support: Developers can optionally mark their homebrews as “safe” and it will not gain restricted API access. We highly recommend developers who are not using such features to update their packages as safe.
      • VitaShell 0.8: Read the release notes from The_FloW for the list of changes to VitaShell.
      • Version string: A callback to the PSP days where every hack would change the system version string. We do that too now (see the screenshot) so we can provide better support to our users.
      • Update blocking: In HENkaku mode, firmware updates using the official servers are blocked. That way you won’t accidentally install 3.61 and it won’t download in the background regardless of your settings.

      Release 2 (August 4, 2016)

      • Dynarec support: Developers can generate ARM code and execute it directly. This aids in JIT engines for emulators.
      • Offline installer: HENkaku can now run without a network connection thanks to work by xyz. He also made a nice writeup that you should check out if you’re interested in the technical details.
      • VitaShell 0.7: When we originally released HENkaku, we forked VitaShell to molecularShell because we didn’t want to spend too much time writing our own file manager. Thanks to The_FloW, our changes have been merged to the official VitaShell codebase and we no longer need molecularShell. This release had added many new features and bug fixes to the shell.

      Release 1 (July 29, 2016)

      • First release




    Tutorial & Guides (WIP Section)



      • Requirements

        Important note about app.db modding (from @pinky):

        • Rebuilding the database rebuilds the app.db meaning the app.db mods will disappear, so it's best to backup ur app.db. make sure u don't confuse the vita and pstv ones as there r differences which, if confused, will likely force an app.db rebuild.


      • Retrieving app.db on your PSTV
        tutorial based off this one (via hackinformer.com) but slightly modified and rewritten​


        On the PSTV

        • Open MolarcularShell from the PSTV Live Arena. Once the application boots up to the file browser, simply hit the SELECT button, Now you have entered FTP mode on the PSTV and in the pop-up take note of your devices IP and Port numbers. .

        Now moving to the PC.

        • Open Filezilla and enter the IP and Port obtain from MolarcularShell in the step above. No need for a pass or username, but use caution and only on trusted networks. Such as your personal home network and not a public hotspot at your local coffee shop. Now hit connect
        • Once connected via FTP Navigate to: uro:/shell/db/app.db & retrieve the file (drag off screen or right click and select download)

      • Modifying app.db

        On the PC

        • Download & Install the SQLite Browser . Now Run the application
        • Now select "Open Database" and open your app.db you just obtained from the previous step.
        • Next, we need to download & extract the file from PSTV Remote Play PS3.
          • contents:
            • tbl_appinfo.csv
            • tbl_appinfo_icon.csv
            • tbl_livearea.csv
            • tbl_livearea_frame.csv
        • Back to SQlite Browser select the "Browse Data" tab (Note: 2nd of 4 tabs)
        • Then in the "Table" pull down menu select: "tbl_appinfo" to start.
        • Once selected Go-To: "File" --> "Import" --> "Table from CSV File"
        • Then go ahead and select YES when asking to continue as there is already that file, Yes just overwrites the file as we want to.
        • Repeat this step on the other 3 remaining files

      • Choosing LiveArena Bubble Location
        • Now, that the hack is now prepared we must finalize one final step and that is the location of the bubble in Live Arena, we must choose the page and also the icon position (0-9) in your LiveArena Its important you do not choose a page id that does not exist in your Live Arena. So do not add a new page if you do not have one set on the PSTV.
        • Next from the SQlite Browser Select File --> "Write Changes" and then select "Close Database"

      • Replacing the Modding files back to your PSTV
        • Now from in Filezilla with FTP running on the PSTV.
        • Navigate to: uro:/shell/db/app.db and overwrite the one you just modded on your PC
        • Success you should be able to RUN (a sub-par IMO) Remote Play PS3 from your PSTV. Its better then nothing but i think the HACKING Community should improve the remote play feature al together.
        Important note about app.db modding (from @pinky):
        • Rebuilding the database rebuilds the app.db meaning the app.db mods will disappear, so it's best to backup ur app.db. make sure u don't confuse the vita and pstv ones as there r differences which, if confused, will likely force an app.db rebuild.







    Other Extra's:

     

    Attached Files:

    Last edited: Sep 11, 2016
    bitsbubba, ed89 and doctorwho05 like this.

Share This Page