Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Boot9strap 3DS

From GameBrew
Revision as of 12:18, 3 February 2022 by HydeWing (talk | contribs)
Boot9strap
Boot9strap2.png
General
AuthorSciresM, Hedgeberg
TypeSystem Tools
Version1.3
LicenseGPL-3.0
Last Updated2017/09/06
Links
Download
Website
Source

Boot9strap (B9S) is a modified firmware that makes use of sighax and a vulnerability in the console's NDMA engine to gain code execution on the ARM9 BootROM (Boot9) and load a payload (boot.firm) from the SD card. It uses a modified version the ARM9 payload loader of Luma3DS. The software can also dump the console-specific OTP and BootROMs.

It is a bootrom exploit that runs a lot earlier in the boot process in comparison to Armloader9hax (A9LH), allowing access to new system files that A9LH didn't, as well as adding better brick protection, and update protection, because it's unpatchable without a hardware revision (it is also worth noting that B9S uses .firm files instead of .bin files for payloads). B9S has effectively replaced AL9H, and if you use Luma3DS and would like to still be supported with updates, you have to switch to B9S.

For more technical details, refer to the presentation here.

Installation

Install via SafeB9SInstaller, or follow the community guide.

Launches boot.firm off of the SD card or CTRNAND.

Hold Start+Select+X on boot to dump the bootroms/your OTP.

Changelog

v1.3

  • Removed some unnecessary padding to make B9S FIRMs smaller (they now size about 30 KiB, and thus can support NTRboot targets with smaller flashes).
  • Updated the filesystem library used by the stage 2 loader.
  • Added additional delay following ntrboot to allow for more time to hold a button-combination for the loaded boot.firm.

v1.2

  • Fixes some critical bugs due to rushed 1.0 release.
  • When requested, framebuffers are now passed via argv rather than using legacy cakebrah buffers.
  • The loader now runs from a stub in itcm -- this lifts restrictions on boot.firms' ability to load.
  • By setting a bit in the firm header, execution can be handed over pre bootrom-lockout.
  • Fixes a compatibility issue in 1.1 where some payloads would respond poorly to ntrboot.
  • In a similar vein, dumping bootrom via held key combination shut the device down in 1.1. It now waits for the user to let go of the keys before resuming boot.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

v1.1

  • Fixes some critical bugs due to rushed 1.0 release.
  • When requested, framebuffers are now passed via argv rather than using legacy cakebrah buffers.
  • The loader now runs from a stub in itcm -- this lifts restrictions on boot.firms' ability to load.
  • By setting a bit in the firm header, execution can be handed over pre bootrom-lockout.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

Credits

  • Normmatt - Theorizing the NDMA overwite exploit.
  • TuxSH - Help implementing bootrom payloads.
  • Luma3DS - Codebase used in the stage 2 FIRM loader.

External links

Advertising: