Coder Social home page Coder Social logo

3ds_homemenuhax's Introduction

menuhax is obsolete.

This is menuhax, exploits for the Nintendo 3DS Home Menu.

Summary

These exploits trigger during Home Menu startup.

Although this triggers during Home Menu boot, this can't cause any true bricks: just remove the *SD card if any booting issues ever occur(or delete/rename the main Home Menu extdata directory). Note that this also applies when the ROP causes a crash(the installed exploit itself), like when the ROP is for a different version of Home Menu(this can also happen if you boot into a nandimage which has a different Home Menu version, but still uses the exact same SD data). In some(?) cases Home Menu crashes with this just result in Home Menu displaying the usual error dialog for system-applet crashes.

Old3DS return-to-menu

On Old3DS with applications which trigger a firmlaunch due to requiring more memory for the APPLICATION memregion, pressing the HOME button will result in a hang due to Home Menu crashing with menuhax installed. This include Super Smash Bros, Monster Hunter as well as Pokemon Sun and Moon.

The only way this could ever be resolved is with a Home Menu vuln which doesn't involve linearmem pre-*hax-payload, unlike all of the ones used in this repo publicly currently.

Vulns

  • themehax: The original vuln for this repo was discovered on December 22, 2014. This flaw was introduced with the Home Menu version which added support for themes: 9.0.0-X on Old3DS, v8.1 on JPN-New3DS. Old3DS JPN theme support was "added" 9.1.0-XJ. The release date for this exploit was September 25, 2015.
  • shufflehax: The vuln for this was discovered on January 3, 2015. The shufflehax exploit itself was finally implemented in December 2015, it was finished on the 7th-8th. The release date for this exploit was on December 27, 2015, in US-time. https://events.ccc.de/congress/2015/Fahrplan/events/7240.html Exactly one week later from release-date would be exactly one year since the vuln was discovered. Theme-shuffling and this vuln were introduced with 9.3.0-X.
  • sdiconhax: For vuln details, see source and here. This was exploited in June 2016.
  • bossbannerhax: For vuln details, see source and here. This was exploited in December 2016.

Vuln used with themehax

Home Menu allocates a 0x2a0000-byte heap buffer using the ctrsdk heap code: offset 0x0 size 0x150000 is for the output decompressed data, offset 0x150000 size 0x150000 is for the input compressed data. Immediately after this buffer is a CTRSDK heap freemem memchunkhdr, successfully overwriting it results a crash(when the data written there is junk) in the CTRSDK heap memchunk handling code with the linked-lists.

The decompression code only has an input-size parameter, no output size parameter. Hence, the output size is not restricted/checked at all. Since the decompressed data is located before the compressed data, the buf overflow results in the input compressed data being overwritten first. Eventually this overflow will result in the input data actually being used by the decompression function being overwritten, which can later result in an error before the function ever writes to the CTRSDK memchunk-hdr(if the input compressed data doesn't workaround that).

Vuln used with shufflehax

Hence the name, this is a vuln with theme-data loading for theme-shuffling. Home Menu does a file-read from extdata for loading the compressed input-theme-data, with a size field loaded from extdata ThemeManage. This size is not validated at all.

Vuln fix sysupdate(s)

  • The 10.2.0-X sysupdate fixed the vuln with theme decompression(themehax).
  • The 10.6.0-X sysupdate fixed shufflehax.
  • The 11.1.0-X sysupdate fixed sdiconhax.
  • The 11.3.0-X sysupdate fixed bossbannerhax.

Usage notes for sdiconhax

With sdiconhax installed, when Home Menu does a normal boot all writes to extdata SaveData.dat are blocked. This is only for normal boots, not when *hax payload was booted from menuhax. This had to be blocked because the haxx data was getting reset every time Home Menu wrote to this file. This blocks anything from being done with this file, hence you can't run menuhax-install/deletion with this unless you booted *hax payload from menuhax.

Also note that you can't do/use any of the following without Home Menu entering a crash-boot-loop: exit from hbmenu for returning to Home Menu, menuhax-thread hax-payload boot(due to restarting homemenu), or returning from any system-applets on Old3DS(web-browser etc). This will also happen when a regular-application crashes when trying to return to Home Menu. Basically, anything that causes the Home Menu process to restart.

If you use the menuhax-thread keycombo, the non-icon-data areas of SaveData.dat will be written to FS prior to terminating the process, however see above regarding this thread. This is mostly useful for when you changed theme-settings. Icon-related data is not saved because the written data would be reset anyway, and the haxx didn't trigger properly.

Due to the above, you can't change anything related to SD icon layout(including presents) and have it persist after a Home Menu process restart. You can only do so when sdiconhax isn't installed(uninstall, change layout, then install again). Deleting/renaming the main Home Menu extdata directory will of course reset this SD icon layout data.

If you enter the power-off screen then return to Home Menu, the icon layout will be reset with presents however this will not be saved to FS.

Do not change the system language with System Settings with sdiconhax installed. If you do so, you will have to delete the Home Menu extdata as mentioned in the Summary section above.

Usage notes for bossbannerhax

This is used for system-version v11.1-v11.2.

This does not trigger during Home Menu boot. This triggers when the Face Raiders icon is selected by the user, which triggers loading the exbanner data(Face Raiders is just the ideal target title for this among the system titles with exbanner-usage enabled). The usual PAD-config for actually running it still applies.

Normal {return to homemenu code} is not supported with bossbannerhax. It will terminate Home Menu via svcExitProcess instead, resulting in the usual crash message. This doesn't matter much since the exploit only triggers when selecting the icon listed above.

For deleting bossbannerhax you should use menuhax_manager. But if you really want to delete it manually, even though face-raiders BOSS data(non-hax-data) won't be completely deleted, you can manually delete the Face Raiders extdata(you could even do this with System Settings if you want). Nothing else on SD is required for bossbannerhax deletion.

For installing bossbannerhax, either ctr-httpwn >=v1.2(with bosshaxx) must be already active, or the system must be running "CFW" with sigchecks patched.

Supported System Versions

As of menuhax v3.2, system-versions 9.0.0-X..11.2.0-X are all supported. During installation it automatically detects which exploit to install. See also the above sections. Note that as of November 2016 bossbannerhax was the last known Home Menu vuln.

The initial release archive only supported USA, EUR, and JPN. TWN and CHN aren't supported currently. KOR builds which are actually usable are included starting with v3.0, via sdiconhax for 9.6.0-X..11.0.0-X(the theme-data exploit KOR builds were removed since themes aren't actually usable with KOR).

Building

See Building.md.

Usage

Just boot the system, the haxx/initial-ROP will automatically trigger while Home Menu loads. Prior to v2.0 Home Menu attempted theme-loading when returning from the power-off screen, however since Home Menu state is finally proper now with v2.0 that doesn't happen anymore. Home Menu process boot can be triggered on Old3DS-only by entering a system-applet then leaving it. Hardware-reboot via System Settings for example has a similar affect too.

With the release archive the default PAD-trigger configuration is that you have to hold down the L button while Home Menu is booting, in order to boot into the *hax payload. Otherwise, Home Menu will boot like normal. The user can override the default PAD-trigger with multiple configuration options in the menuhax_manager app. The data for this is stored in SD file "/menuhax/menuhax_padcfg.bin".

Right before it jumps to executing the loaded ropbin, this delays with a default of 3-seconds. This helps with *hax payload booting not failing as much with this. This can be adjusted in the menuhax_manager configuration menu.

menuhax thread

If the menuhax-thread options are setup via the menuhax_manager configuration menu(specifically the PAD config), during a normal boot to Home Menu menuhax will start a new thread which runs with just ROP.

This thread executes a loop. First it runs svcSleepThread, delaying with the user-specified value. Then it verifies that Home Menu is active by comparing the GSPGPU service session handle with 0x0. Then it checks if the pressed PAD buttons match the value specified in config. If so, the config file is updated so that menuhax automatically boots *hax payload on next boot, then svcExitProcess is executed so that Home Menu restarts.

This is not usable with bossbannerhax due to no ret2menu.

Installation

To install menuhax you must use the menuhax_manager app. You must already have a way to boot into the *hax payload for running this app(which can include menuhax if it's already setup): https://www.3dbrew.org/wiki/Homebrew_Exploits

Before using HTTP, the app will first try to load the input payload from SD "/menuhax/menuhaxmanager_input_payload.bin", then continue to use HTTP if loading from SD isn't successful. Actually using this SD payload is not recommended for end-users when HTTP download works fine. The input payload from SD is basically just copied to the ropbin file used by menuhax, where only the first 0x10000-bytes are written(only the first 0x10000-bytes get loaded by menuhax, anything after that doesn't matter). Hence, the input payload must be a ropbin file, not otherapp. Hence, you can't use *hax payload pre-v2.5 starting with menuhax_manager v2.0 unless you already have the ropbin file for it(which would have to be located at the SD input-payload filepath).

If you haven't already done so before, you may have to enter the Home Menu theme-settings so that Home Menu can create the theme extdata, prior to running menuhax_manager(for USA/EUR/JPN regions).

Versions >v1.2 uses a seperate menuropbin path for each menuhax build. <=v1.2 used the same filepath for all builds, rendering menuhax unusable for multiple system-versions/etc with the same SD card without changing that file(like with booting into SD-nandimages, for example). The app versions >v1.2 delete the old menuropbin file used by <=v1.2.

During installation there's an option for skipping *hax payload setup. Normally this isn't needed. Doing this would result in only menuhax itself being setup.

Whenever the Home Menu version installed on your system changes where the installed exploit is for a different version, or when you want to update the *hax payload, you must run the installation again. For the former you can do the following: you can remove the SD card before booting the system, then once booted insert the SD card then boot into the *hax payload via a different method(https://www.3dbrew.org/wiki/Homebrew_Exploits).

System-version override

During installation there's an option to override what system-version is used for installing. This is only enabled if there's a "enable_sysveroverride_option.txt" file(contents don't matter) detected in the same directory as menuhax_manager.3dsx(normally SD "/3ds/menuhax_manager/"). This should only ever be used if you're installing a different Home Menu version later(see the Summary section regarding Home Menu version mismatch).

Splash-screen

This app can setup an image for displaying on the screens when menuhax triggers, if you use the app option for that. Using this is highly recommended(in some cases *hax payload booting may be more successful with this than without it). When the file for this isn't setup, junk will be displayed on the top-screen(from elsewhere in VRAM). The input image can be either be the default one, or from SD.

The input PNGs for this are located at SD directory "{CurrentWorkingDirectory}/splashscreen/"(all PNGs stored under "{CurrentWorkingDirectory}" are automatically moved into this splashscreen directory if they exist). "CurrentWorkingDirectory" is normally "/3ds/menuhax_manager" unless it's running from elsewhere. The PNG dimensions must be either LENx240 or 240xLEN, where LEN is one of: 400, 800, or 1120. See the menuhax_manaager/imagedisplay_example_*.png files, in this repo. See also #26.

Deletion

The hax can be deleted by menuhax_manager with the app option for that.

If you have menuhax installed on USA/EUR/JPN <=10.5.0-30, another way to only "remove" menuhax(this shouldn't be used unless you can't boot the menuhax_manager), is to just select the "no-theme" option in the Home Menu theme settings. Then restart Home Menu / reboot your system. Then, you can select any theme you want under Home Menu theme-settings if want to do so.

See the "Summary" section if you have issues with Home Menu failing to boot, or if you want to manually remove menuhax.

Ninjhax v1.x

Due to AM access / etc being required with >v1.2, this app is not usable with regular ninjhax v1.x without additional hax. Use *hax >=v2.x instead.

Themes

The below only applies for USA/EUR/JPN <=10.5.0-X. The theme-install menus are disabled in menuhax_manager if menuhax was last installed with a non-theme-data exploit.

Starting with v2.0, you can now use menuhax with an actual theme you want. After installing v2.0(nothing higher), you have to enter the Home Menu theme-settings menu first, so that it can create the seperate extdata files. Under the menuhax_manager, there are menu options for installing custom-themes with menuhax already setup, and for setting up one of the Home Menu built-in "Basic: {color}" themes as a "custom-theme".

Currently menuhax_manager doesn't support installing multiple themes from multiple input SD files, when shufflehax is setup.

Under Home Menu theme-settings:
The only theme-change you can do without menuhax being disabled, is selecting a DLC theme.

  • themehax: Any theme you select must be a DLC-theme as a regular theme. Theme shuffling isn't usable.
  • shufflehax: You must select exactly two DLC-themes via theme-shuffling, no regular-theme. You can't successfully select the same DLC-theme twice. Normally Home Menu won't allow you to select only one theme for theme-shuffling, but in this case it does, do not try this because Home Menu will just reset the theme-data settings in this case.

When you're selecting a "Basic: {color}" theme with the menuhax_manager option mentioned above, there's an option to dump the theme-data to {CurrentWorkingDirectory}. "CurrentWorkingDirectory" is normally "/3ds/menuhax_manager" unless it's running from elsewhere. This isn't needed unless you want to use that theme-data with other tools/etc. Note that this menu in menuhax_manager is only usable when the app is running via *hax payload >=v2.0.

If you want to revert the theme to "no-theme" with menuhax still installed, you can select the menuhax_manager "Delete" menu option, then select the option for this. After doing so, you have to enter the Home Menu theme-settings menu again if you want to setup more themes later.

With menuhax setup, Home Menu uses seperate theme-cache extdata filenames for everything except for BGM. These seperate filenames are the same as the original except that the first character is replaced with 'y'(see also source code). As a result, other custom-theme installation tools will not be compatible with installing to these seperate files, without an update for them to support this. Using those tools without being updated for this, will result in menuhax being overwritten with the custom-theme.

For custom-theme installation, the theme-data must be located at SD "{CurrentWorkingDirectory}/body_LZ.bin". If used, the BGM must be located at SD "{CurrentWorkingDirectory}/bgm.bcstm". "CurrentWorkingDirectory" is normally "/3ds/menuhax_manager" unless it's running from elsewhere.

If Home Menu is already using a theme with BGM, before installing a custom theme using BGM, you must first switch to a non-BGM theme and run menuhax_manager again. If this theme switch wasn't done via Home Menu itself, the Home Menu process must be restarted(like with a system-reboot for example). This applies to all custom theme installation tools, not just menuhax_manager.

Credits

  • This app uses code based on code from the following repos: https://github.com/yellows8/3ds_homemenu_extdatatool
  • The original vuln for themehax was, as said on this page(https://smealum.github.io/3ds/), "exploited jointly by yellows8 and smea". The payload.py script was originally written by smea, this is where the actual generation for the compressed data which triggers the buf-overflow is done.
  • The system-version override menu code is based on the code from sploit_installer.
  • menuhax_manager uses lodepng: https://github.com/lvandeve/lodepng
  • menuhax_manager uses minizip for handling .zip.
  • Graphics(#26): @NaxiD for the menuhax_manager icon and @LouchDaishiteru for the default haxx boot splash-screen.

3ds_homemenuhax's People

Contributors

d3m3vilurr avatar my1 avatar smealum avatar yellows8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3ds_homemenuhax's Issues

custome theme BGM install fails

scr_1_top_left

rest of the theme installed and works fine though, it's just... a bit dead since there is no BGM...
this is an actual theme I bought and extracted with homemenu_extdata_tool

Can only get into Menuhax from cold boot.

In the previous version I was able to:

  • Press Power Button (from any game or just the HOME Menu)
  • Press HOME and hold L to boot menuhax

Now Menuhax only works from a cold boot (powered off 3DS).

I have tried type 1 or type 2 in terms of dpad triggers, tried with the boot up image and without it, tried no themes, basic color themes, and custom themes and it still only works from a cold boot.

N3DS ver 10.1

Unable to load at boot time, but can boot from sleep mode screen

Not sure if this is an issue with themehax, or with smealum payload.

I have a N3DS running 10.1.0-27E and am unable to boot hax from power on by holding L (freezes at grey screen) but can boot from sleep mode screen by pressing Home then holding L (with green flash).

I've read other scattered reports of this issue on neogaf and gbatemp.

Any ideas?

Here's a video: http://cl.ly/2E2a3C013Z2B
(ignore that the video makes it looks like static is moving, it's not)

Thanks!

Installing/changing settings offline

This issue is actually to proposals related to themehax_installer:

  • The menu where you can choose if you want to install, configure or exit themehax_installer should appear before checking of internet availability. Because you don't need internet to just change if you want autobooting or not, or if you want to change the override button. Nowadays if you do want to change those options you have to have internet even when you don't need (or you get a HTTPD error).
  • When /themehaxinstaller_otherapp_payload.bin is present the installer shouldn't check for internet either, so we can do a completely offline install if this is needed by some reason.

Compile for only one firmware version?

Trying to compile all the firmware versions with a custom theme has taken 9 hours so far. Is there any way to compile homemenuhax for only MY firmware version?

Offline Themehax failure...

Okay, I used Ninjihax to try and install Themehax for the first time via the offline install build so that I can upgrade to 2.5 later after. I put the folder saying, "themehax_installer" on the root of the SD card, loaded up Ninjihax to get to Homebrew, I see the themehax_installer offline v1.2 icon ready for me to choose. It asked me if I wanted to install Home Menu themehax, clicked yes, and then it says that an error has occurred and the install failed. Here is what it said:

Home Menu programID: 0x0004003000008f02.
Detected version: New3DS 10.2.0-28 USA
Checking for the otherapp payload on SD...
sdmc:/3ds/themehax_installer/otherapp/N3DS_U_
Error reading otherapp bin from sdmc..
Loading info from the otherapp payload...
Failed to parse the payload: 0xffffffff.
Install failed: 0xffffffff.

Can somebody tell me what I am missing as the instructions that I looked at on Yellows8's post about installing 2.5 hax on Thememenu is a bit vague?

Using MenuHax?

I've been curious about this method, but never had really looked at it because of TubeHax/BrowserHax being there... But now when I tried to load BrowserHax, the browser will only tell me that I have to update to use the Browser.

So I thought I'd try out MenuHax, as it's listed as one that still works... but can't figure out how to boot it, as it only has a Homebrew folder, but not any launcher method.

How do I actually get this thing going? (Both O3DS and N3DS)

Untested versions listed in the README

Would be nice if those that have successfully setup + used themehax fine(no issues with the hblauncher-payload itself either), would leave a comment here when the system-version is one listed as "not tested" in the README.

With release-archive v1.2, system-version v9.3 can't be successfully tested due to an installer issue with APT(#2), and v9.1j isn't supported by the hblauncher-payload to begin with at the time this issue was created.

Error Code 0x00000002

I have this error when try to load a image PNG as image-display from the SD. It said:
"Failed to get the filesize of the SD PNG: 0x00000002"

Issue booting into Homebrew Launcher from New Super Mario Bros 2

I have been using the workaround provided by smealum (until 2.5 comes out) to boot into the Homebrew Launcher to use core1 applications.

Whenever I press the power button while NSMB2 is running, the power-off screen comes up like normal; however, when I press the home button and hold L, my 3DS displays the normal debug code but never boots and then freezes. It freezes on what I assume is random memory locations each time.

I am using themehax on a New 3DS. Oddly enough, I tested if this problem occurred when launching via other games, but none of my other 16 games had this issue.

If you need more info, please reply to the issue!

Broken app gfx-display on Old3DS v9.0-v9.2.

Multiple people have reported that on Old3DS with system-versions v9.0-v9.2 with payload 2.5, the installer just displays text very briefly at startup, then switches to displaying nothing. HID still works but it still apparently doesn't display anything.

Everything I tried so far did not trigger this issue, including testing on Old3DS v9.2.

C-stick not working after booting into Homebrew Launcher

N3DS 10.1.0-27U
Exploit Version: 1.2 (installed via installer)
Theme before installation: Basic Yellow

After booting into the home brew launcher the c-stick does not work (at least in the home brew launcher), but when I tubehax to boot into it it works fine.

Error code 0xc8804470

I've met this error code everytime when I try to install menuhax, Any method to solve that?
img_2423

Old 3DS (JPN Ver) trying to use Menuhax 2.0

Trying to run the latest version of Menuhax on a Japanese 3DS with Firmware version 10.2.0-28J and get the follow error:

unnamed

I deleted the old themehax folder and included the newest menuhax folder.

Changed sdcard

So i switched to a new sdcard and now the hax wont work. When I try to uninstall i get the error in the image.
img_20151106_094903

Install failed: 0xd900182f

Using Home Menu programID: 0x0004003000008f02
Failed to get the Home Menu title-version: 0xd900182f
Install failed: 0xd900182f

Console: Nintendo New 3DS XL (Majora's Mask Edition)
Home Menu: Ver. 9.0.0-20U

1209011023

Home Menu Theme Bug (Icon / Folder)

With Homemenuhax installed, go to the normal home menu, open any folder (or create and then open one), shutdown the 3DS and then turn it back on.
Once that's done, you should be able to see that the smaller blocks that are supposed to be behind the icons are solid grey and has no radius set (completely square). Closing the folder will for a second show all of the icons missing in the home menu and then it would go back to normal (normal blocks, icons appear, functions normally).
This does happen every time so it should be pretty simple to replicate.

Before the installation, I had set the theme to 'default'.
Installer used was v1.2.

I know that the whole point of this is to have access to HB menu and to have it to do its job, so I wouldn't consider this one to be so important.

Broken BGM changing in Home Menu itself with the LOADOTHER_THEMEDATA build option.

When a themehax build with the LOADOTHER_THEMEDATA option is enabled, Home Menu can't change the BGM when selecting a DLC theme under the Home Menu theme-settings menu. Therefore, if a custom-theme BGM was setup previously the BGM will be left at that custom BGM. And if the theme data in extdata was just freshly created(after initially booting into Home Menu with the new theme file-paths), attempting to select a DLC theme will result in no BGM being played.

It's unknown what causes this exactly: the themehax ROP doesn't modify any of the file-paths for BGM in Home Menu.

Note that this build option wasn't public yet at the time this issue was opened.

Does not work at all with fwOLD9.8.0-25E

The installer in the starter kit says it's successful installing payload, but it's not clear if you can exit or not. Although nothing happens if you wait so I'd guess it's okay to exit.

But when I restart my 3DS, it just boots into the regular home menu.

Request: app icon and boot image.

It would be nice to have the following gfx. Note that if the gfx would include "themehax" at all(text or visual), "menuhax" should be used instead.

Submissions should be in PNG format. One way to send submissions is by leaving comments on this issue. Deadline is around when the next release is finished, hopefully.

  • A dedicated 48x48 icon for the application included with this repo. Note that a mere {HOME + wrench} icon isn't good enough, since by the icon alone that would imply "Home Menu Settings".
  • An image that will be displayed on the main-screen instead of the junk, during boot when hax is triggered. This will be the default image which can be setup by the app if the user uses the option for it. The PNG dimensions must be either 800x240 or 240x800(the latter is the framebuffer-form)."The first half of the image(in terms of pixels) is for 3D-left, the rest is for the 3D-right. The 3D-right should be same as 3D-left if no stereoscopy is used by the image."

Menuhax Won't Install

img_20151030_232715

I encounter this on a 9.0.0-20U New 3DS. I created the theme files within the menu and this is the result I seem to get consistently. I'm using Ninjahax and then starting menuhax from HBL off of that.

As a troubleshooting step I tried using the old 1.2 version, which did detect the version, but the it wasn't able to download what it needed and go from there.

Some homebrews don't work with themehax

I've used release themehax installer.
3DS: EUR 9.9

Asteroids 3D doesn't work
CitrAGB doesn't work
GameYob doesn't work
WhackMania doesn't work
A homebrew that I'm working on which is a large file doesn't work.

I think that homebrews that are large don't work.
(those ones that with ironhax gave a blue screen when loading like when loading ironhax)

Reducing delay to 1.5s seems to improve boot rate?

Right before it jumps to executing the loaded ropbin, this delays 3-seconds.

So since updating my O3DS to menuhax 2.5 I seem to get worse boot rates than before (I was using the >1.2 commits, that allowed themehax autobooting and trigger selection). Someone in GBAtemp said that reducing the above cited delay to 1.5s seems to help. I did the test (nothing scientific though):

  • 3s: somewhat of 50% of boot chance (yellow screen in the majority of cases, sometimes a black screen).
  • 1.5s: I was turning on my 3DS, booting HBL, pressing start, rebooting, multiple times (more than 20). Had only one failure (yellow screen).

I have a O3DS in firmware 9.2.0-20U.

Actual custom themes with themehax.

TODO: figure out some way to properly load custom-theme data from {filepaths that Home Menu normally doesn't use} via ROP, and maybe fix #3 in the process. This is very difficult, so who knows if this will get done before next release, or ever get done at all.

Or, at bare minimum, figure out some way to let the user have BGM without building themehax manually, without breaking the normal BGM when custom BGM isn't available.

KOR Support

Noticed KOR 3DS not getting any love, anything I could do/submit to get KOR region supported?

Crash when select settings app while using custom theme

FIRM : 9.0.0-20 E

When I select settings app on the home menu, 3ds goes to hb launcher If body_LZ.bin used in building themepayload is larger than about 1MB.

Decompressed body_LZ.bin size : 918KB - no problem, 1171KB - entering hb launcher

It may not be associated with their size, not so sure.

BlargSNES freeze

This also effects Browserhax. BlargSNES works fine in other exploits. When you start it and try to load a ROM it freezes. Everything else I've tried works fine.

Since 2.0 not able to boot CakesFW or rxMode sysNAND

On n3DS 9.0.20E:
Since HomeMenuHax 2.0 I am not able to start sysNAND with CakesFW or rxMode.
From CtrBootManager, smeas 2.5 HBL or smashers HBL.

While using OoT3DHax with 2.5 payload I am able to enter sysNAND with CakesFW or rxMode.
So I think it has something to do with HomeMenuHax

Install failed

Well, seems like my 3DS told me to report this, I might as well do it then ;P

FW: Old 3DS, 9.9.0.26E with Ninjhax (since no other exploit is currently possible there)

scr_1_bottom

Way to change button trigger?

It'd be nice if the installer had an option to choose which button you hold triggers homebrew, because my L button isn't working well.

Offline Installer?

Hi Yellow. Thanks for your work first. I have some issues with the git-version of the installer, as below.

  • It seems the latest version (2b2c689) of themehax_installer can not parse the latest 2.5 payload correctly. It just tells me Failed to parse the payload: 0xfffffffb. Then installation failed.
  • However it seems if i use an older version of the payload, that the corresponding file from the otherapp folder of a legacy offline version of the themehax_installer (from gbatemp, v1.2), it installs.
  • An offline version of the themehax_installer, without touching the network is badly needed. Not all the guys can get it downloaded easily in several tries. (I saw guys doubting if the site is down..)

I suggest you consider to make an official offline version. You may not have enough time to adapt the new payloads in time. And CIAs, I would not bother you. I thought i should ask Dean_ for the rsf..

Error Code: 0xc8804470

I was given this error when I tried to install a custom theme for homemenuhax. My firmware version is 9.9.0 26U, and I am running hax 2.5. Below is a link to a screenshot of my error on the bottom screen of my 3DS accompanied by a picture of my SD card structure.
http://puu.sh/l4avj/3d5f7ea56d.png
scr_6_bottom

Cannot access Eshop

I am able to open Homebrew launcher but get the following message when i enter eshop through the Homebrew launcher:

Device:
New 3DS US Home Designer Bundle

Device FW
10.1.0-27U

Error Code:
022-2511

In order to use online services, a system update is required.

Go to System Settings to perform a system update.

I installed the latest Homebrew starter kit from:
http://smealum.github.io/3ds/

New3DS 9.0.0-20E fails to boot if it's turned on without opening the console

Turning on the console while the lid is open successfully boots into HBL. But, if the you keep the lid closed after pushing the power button, HomeMenuHax fails to boot and get stuck with bottom screen completely white and top screen black. I don't know if it's useful, but I configured a splash screen using an "imagedisplay.png" file.

Themehax not loading

I was using themehax 1.2 and it was installed on my system, and then one time I tried to boot it up but It didn't work. It just went straight to the home menu. Now no matter how many times I try it doesn't load. I have no way of reinstalling it because Nintendo blocked browserhax. any idea why? I'm on an old 3ds with 10.1.0-27U.

Error code: 0xd8e06406

I've met this error code everytime when I try to install menuhax, Any method to solve that

Load a separate SaveData.dat.

TODO: load a separate extdata SaveData.dat, via an extra build option intended for use with the LOADOTHER_THEMEDATA option. Not sure how to handle this yet.

Right now with the LOADOTHER_THEMEDATA option, besides custom-themes, under the Home Menu theme-settings menu only DLC themes as regular themes can be used(which works fine). Anything else, such as the "Basic" color themes, using theme-shuffle, or "no theme", will result in the themehax being disabled. A seperate SaveData.dat would resolve all of this: with that the user could use all of the above without disabling themehax.

EDIT:
Not sure what side-effects doing this may have, however.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.