ninjhax is an exploit by smea for the game Cubic Ninja. It was released on November 20th, 2014. It can be used on all 3DS firmware versions from 4.0 up to and including 9.2.0-20. It was partially patched in 9.3.0-X (only system flaws used by ninjhax were fixed, the game haxx itself was not affected).

When triggered, it will boot a 3dsx-file from the sdcard root called "boot.3dsx". This file is usually the Homebrew Launcher, which in turn can be used to launch other games/apps from the (micro)SD card.

Installation

Visit here for instructions on how to install Ninjhax!

Service access

ninjhax gives developers access to a number of services. These include :

  • ac:u
  • APT:U
  • boss:U
  • cam:u
  • cecd:u
  • cfg:u
  • dlp:FKCL
  • dlp:SRVR
  • dsp::DSP
  • frd:u
  • fs:USER
  • gsp::Gpu
  • hid:USER
  • http:C
  • ir:u
  • mic:u
  • ndm:u
  • news:u
  • nwm::UDS
  • ptm:u
  • pxi:dev
  • soc:U
  • ssl:C
  • y2r:u

Additionally, Old 3DS models (3DS, 3DS XL and 2DS) are given access to the following :

  • csnd:SND

In contrast, New 3DS models (New 3DS, New 3DS XL) get access to :

  • am:app
  • ir:rst
  • l2b2:u
  • l2b:u
  • mvd:STD
  • nim:aoc
  • y2r2:u


The normal service used for accessing Circle Pad Pro is not accessible: ir:USER.

System Call Access

The following system calls are usable by homebrews running using ninjhax:

Allowed systemcalls:    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
                        0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
                        0x11, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19
                        0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21
                        0x22, 0x23, 0x24, 0x25, 0x27, 0x28, 0x29, 0x2A
                        0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32
                        0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C
                        0x3D

Limitations

At the moment, ninjhax only allows users to access 64MB of RAM, including on the New 3DS. This may change in the future.

As there is currently no good way to use the DSP from homebrew, sound output is not yet possible on the New 3DS. At the moment, there is also no known way of running code on the New 3DS's extra CPU cores under ninjhax, though it is possible to use 80% of the system core's time using APT:SetApplicationCpuTimeLimit rather than 30% as was the case on the Old 3DS.

Capabilities