Guide_3DS/installing-boot9strap-(kartdlphax).html

803 lines
37 KiB
HTML
Raw Normal View History

<!doctype html>
<!--
Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
-->
<!-- for guide purposes all caching is removed and is separately built. -->
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<!-- begin _includes/seo.html --><title>Installing boot9strap (kartdlphax) - 3DS Hacks Guide</title>
<meta name="description" content="A complete guide to 3DS custom firmware">
<meta name="author" content="Nintendo Homebrew">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_US">
<meta property="og:site_name" content="3DS Hacks Guide">
<meta property="og:title" content="Installing boot9strap (kartdlphax)">
<meta property="og:url" content="https://3ds.hacks.guide/installing-boot9strap-(kartdlphax).html">
<meta property="og:description" content="A complete guide to 3DS custom firmware">
<link rel="canonical" href="https://3ds.hacks.guide/installing-boot9strap-(kartdlphax).html">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Nintendo Homebrew",
"url": "https://3ds.hacks.guide/"
}
</script>
<meta name="google-site-verification" content="jVXoPK_-qzKJp4SScnZYpOIX3yDXfGnAoTBJYixUOwg" />
<meta name="msvalidate.01" content="F3532011519E308583A0A2CAF2DD69E8">
<!-- end _includes/seo.html -->
<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="3DS Hacks Guide Feed">
<!-- https://t.co/dKP3o1e -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css"></noscript>
<!-- start custom head snippets -->
<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png?v=PYEmwKvQAx">
<link rel="icon" type="image/png" href="/images/favicon-32x32.png?v=PYEmwKvQAx" sizes="32x32">
<link rel="icon" type="image/png" href="/images/favicon-194x194.png?v=PYEmwKvQAx" sizes="194x194">
<link rel="icon" type="image/png" href="/images/android-chrome-192x192.png?v=PYEmwKvQAx" sizes="192x192">
<link rel="icon" type="image/png" href="/images/favicon-16x16.png?v=PYEmwKvQAx" sizes="16x16">
<link rel="manifest" href="/images/manifest.json?v=PYEmwKvQAx">
<link rel="mask-icon" href="/images/safari-pinned-tab.svg?v=PYEmwKvQAx" color="#2E3440">
<link rel="shortcut icon" href="/images/favicon.ico?v=PYEmwKvQAx">
<meta name="apple-mobile-web-app-title" content="Guide">
<meta name="application-name" content="Guide">
<meta name="msapplication-TileColor" content="#2E3440">
<meta name="msapplication-TileImage" content="/images/mstile-144x144.png?v=PYEmwKvQAx">
<meta name="msapplication-config" content="/images/browserconfig.xml?v=PYEmwKvQAx">
<meta name="theme-color" content="#2E3440">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.css" integrity="sha512-LQ97camar/lOliT/MqjcQs5kWgy6Qz/cCRzzRzUCfv0fotsCTC9ZHXaPQmJV8Xu/PVALfJZ7BDezl5lW3/qBxg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.js" integrity="sha512-yXXqOFjdjHNH1GND+1EO0jbvvebABpzGKD66djnUfiKlYME5HGMUJHoCaeE4D5PTG2YsSJf6dwqyUUvQvS0vaA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#2e3440"
},
"button": {
"background": "#60818f"
}
},
"theme": "edgeless",
"position": "top",
"static": true,
"content": {
"message": "This website uses cookies to display the current guide progress on the sidebar and otherwise enhance the site."
}
})});
</script>
<!-- end custom head snippets -->
</head>
<body class="layout--single">
<nav class="skip-links">
<ul>
<li><a href="#site-nav" class="screen-reader-shortcut">Skip to primary navigation</a></li>
<li><a href="#main" class="screen-reader-shortcut">Skip to content</a></li>
<li><a href="#footer" class="screen-reader-shortcut">Skip to footer</a></li>
</ul>
</nav>
<!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
<div class="masthead">
<div class="masthead__inner-wrap">
<div class="masthead__menu">
<nav id="site-nav" class="greedy-nav">
<!-- <a class="site-title" href="/">
3DS Hacks Guide
</a>
-->
<ul class="visible-links">
<!-- modified to use multilang, guide-specific -->
<li class="masthead__menu-item masthead__menu-item--lg"><a href="/">Home</a></li>
<li class="masthead__menu-item"><a href="/faq">FAQ</a></li>
<li class="masthead__menu-item"><a href="/troubleshooting">Troubleshooting</a></li>
<li class="masthead__menu-item"><a href="/checking-for-cfw">Checking for CFW</a></li>
<li class="masthead__menu-item"><a href="/godmode9-usage">GodMode9 Usage</a></li>
<li class="masthead__menu-item"><a href="/contribute">Contribute</a></li>
<li class="masthead__menu-item"><a href="/region-changing">Region Changing</a></li>
<li class="masthead__menu-item"><a href="/uninstall-cfw">Uninstall CFW</a></li>
<li class="masthead__menu-item"><a href="/credits">Credits</a></li>
<li class="masthead__menu-item"><a href="/site-navigation">Site Navigation</a></li>
<!-- end guide specific -->
</ul>
<!-- completely redo hidden links for multilang, guide-specific -->
<ul class="hidden-links links-menu hidden"></ul>
<ul class="hidden-links lang-menu hidden">
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/installing-boot9strap-(kartdlphax).html">English</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/es_ES/installing-boot9strap-(kartdlphax).html">Español</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/de_DE/installing-boot9strap-(kartdlphax).html">Deutsch</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/fr_FR/installing-boot9strap-(kartdlphax).html">Français</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/it_IT/installing-boot9strap-(kartdlphax).html">Italiano</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/nl_NL/installing-boot9strap-(kartdlphax).html">Nederlands</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/pt_BR/installing-boot9strap-(kartdlphax).html">Português do Brasil</a></li>
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/pt_PT/installing-boot9strap-(kartdlphax).html">Português (Portugal)</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ru_RU/installing-boot9strap-(kartdlphax).html">Русский</a></li> -->
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/zh_CN/installing-boot9strap-(kartdlphax).html">简体中文</a></li>
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/zh_TW/installing-boot9strap-(kartdlphax).html">繁體中文</a></li>
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/pl_PL/installing-boot9strap-(kartdlphax).html">Polski</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/tr_TR/installing-boot9strap-(kartdlphax).html">Türkçe</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/vi_VN/installing-boot9strap-(kartdlphax).html">Tiếng Việt</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ca_ES/installing-boot9strap-(kartdlphax).html">Català</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/el_GR/installing-boot9strap-(kartdlphax).html">Ελληνικά</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/he_IL/installing-boot9strap-(kartdlphax).html">עברית‎</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/sv_SE/installing-boot9strap-(kartdlphax).html">Svenska</a></li> -->
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ko_KR/installing-boot9strap-(kartdlphax).html">한국어</a></li>
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/no_NO/installing-boot9strap-(kartdlphax).html">Norsk</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ja_JP/installing-boot9strap-(kartdlphax).html">日本語</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ar_SA/installing-boot9strap-(kartdlphax).html">اللغة العربية</a></li> -->
<li class="masthead__menu-item"><a href="https://3ds.hacks.guide/hu_HU/installing-boot9strap-(kartdlphax).html">Magyar</a></li>
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ro_RO/installing-boot9strap-(kartdlphax).html">Română</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/sr_SP/installing-boot9strap-(kartdlphax).html">Српски</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/af_ZA/installing-boot9strap-(kartdlphax).html">Afrikaans</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/ms_MY/installing-boot9strap-(kartdlphax).html">Bahasa Melayu</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/fi_FI/installing-boot9strap-(kartdlphax).html">Suomi</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/da_DK/installing-boot9strap-(kartdlphax).html">Dansk</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/uk_UA/installing-boot9strap-(kartdlphax).html">Українська</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/cs_CZ/installing-boot9strap-(kartdlphax).html">Čeština</a></li> -->
<!-- <li class="masthead__menu-item"><a href="https://3ds.hacks.guide/en_PT/installing-boot9strap-(kartdlphax).html">Pirate English</a></li> -->
</ul>
<button class="greedy-nav__toggle hidden" type="button">
<span class="visually-hidden">Toggle Menu</span>
<div class="navicon"></div>
</button>
<button class="greedy-nav__toggle_lang"><div class="langicon"><i class="fa fa-language fa-lg" aria-hidden="true"></i></div></button>
</nav>
</div>
</div>
</div>
<div class="initial-content">
<div id="main" role="main">
<!--
<div class="sidebar sticky">
</div>
-->
<div class="sidebar sticky" style="display: none;">
<nav class="nav__list">
<input id="ac-toc" name="accordion-toc" type="checkbox" />
<label for="ac-toc">Toggle Menu</label>
<ul class="nav__items">
<li>
<span class="nav__sub-title">Overall Progress</span>
<ol>
<li style="display: none;" data-name="home"><a href='/'>Home</a></li>
<li style="display: none;" data-name="key-information"><a href='/key-information'>Key Information</a></li>
<li style="display: none;" data-name="get-started"><a href='/get-started'>Get Started</a></li>
<li style="display: none;" data-name="ntrboot"><a href='/ntrboot'>ntrboot</a></li>
<li style="display: none;" data-name="seedminer"><a href='/seedminer'>Seedminer</a></li>
<li style="display: none;" data-name="seedminer-(twn)"><a href='/seedminer-(twn)'>Seedminer (TWN)</a></li>
<li style="display: none;" data-name="bannerbomb3"><a href='/bannerbomb3'>BannerBomb3</a></li>
<li style="display: none;" data-name="homebrew-launcher-(super-skaterhax)"><a href='/homebrew-launcher-(super-skaterhax)'>Homebrew Launcher (super-skaterhax)</a></li>
<li style="display: none;" data-name="dumping-movable-(nimhax)"><a href='/dumping-movable-(nimhax)'>Dumping Movable (nimhax)</a></li>
<li style="display: none;" data-name="multiple-options"><i>(Multiple Options)</i></li>
<li style="display: none;" data-name="flashing-ntrboot-(3ds-single-system)"><a href='/flashing-ntrboot-(3ds-single-system)'>Flashing ntrboot (3DS Single System)</a></li>
<li style="display: none;" data-name="flashing-ntrboot-(3ds-multi-system)"><a href='/flashing-ntrboot-(3ds-multi-system)'>Flashing ntrboot (3DS Multi System)</a></li>
<li style="display: none;" data-name="flashing-ntrboot-(dsi)"><a href='/flashing-ntrboot-(dsi)'>Flashing ntrboot (DSi)</a></li>
<li style="display: none;" data-name="flashing-ntrboot-(nds)"><a href='/flashing-ntrboot-(nds)'>Flashing ntrboot (NDS)</a></li>
<li style="display: none;" data-name="bannerbomb3-fredtool-(twn)"><a href='/bannerbomb3-fredtool-(twn)'>BannerBomb3 + Fredtool (TWN)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(hardmod)"><a href='/installing-boot9strap-(hardmod)'>Installing boot9strap (Hardmod)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(hbl-usm)"><a href='/installing-boot9strap-(hbl-usm)'>Installing boot9strap (HBL-USM)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(ntrboot)"><a href='/installing-boot9strap-(ntrboot)'>Installing boot9strap (ntrboot)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(soundhax)"><a href='/installing-boot9strap-(soundhax)'>Installing boot9strap (Soundhax)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(safecerthax)"><a href='/installing-boot9strap-(safecerthax)'>Installing boot9strap (safecerthax)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(ssloth-browser)"><a href='/installing-boot9strap-(ssloth-browser)'>Installing boot9strap (SSLoth-Browser)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(fredtool)"><a href='/installing-boot9strap-(fredtool)'>Installing boot9strap (Fredtool)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(usm)"><a href='/installing-boot9strap-(usm)'>Installing boot9strap (USM)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(kartdlphax)"><a href='/installing-boot9strap-(kartdlphax)'>Installing boot9strap (kartdlphax)</a></li>
<li style="display: none;" data-name="installing-boot9strap-(frogtool)"><a href='/installing-boot9strap-(frogtool)'>Installing boot9strap (Frogtool)</a></li>
<li style="display: none;" data-name="finalizing-setup"><a href='/finalizing-setup'>Finalizing Setup</a></li>
</ol>
</li>
</ul>
</nav>
</div>
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
<meta itemprop="headline" content="Installing boot9strap (kartdlphax)">
<div class="page__inner-wrap">
<header>
<h1 id="page-title" class="page__title" itemprop="headline">Installing boot9strap (kartdlphax)
</h1>
</header>
<section class="page__content" itemprop="text">
<hr>
<div class ="notice"><b>For support in English, ask for help at <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew on Discord</a>.</b></div>
<div class ="notice"><b>If you appreciate this guide, we accept <a href="contribute#donations">Donations</a>.</b></div>
<hr>
<aside class="sidebar__right">
<nav class="toc">
<header><h4 class="nav__title"><i class="fas fa-file-alt"></i> Table of Contents</h4></header>
<ul class="toc__menu" id="markdown-toc">
<li><a href="#compatibility-notes" id="markdown-toc-compatibility-notes">Compatibility Notes</a></li>
<li><a href="#what-you-need" id="markdown-toc-what-you-need">What You Need</a> <ul>
<li><a href="#section-i---hardware-button-check-target-3ds" id="markdown-toc-section-i---hardware-button-check-target-3ds">Section I - Hardware Button Check (target 3DS)</a></li>
<li><a href="#section-ii---prep-work-source-3ds" id="markdown-toc-section-ii---prep-work-source-3ds">Section II - Prep Work (source 3DS)</a></li>
<li><a href="#section-iii---prep-work-target-3ds" id="markdown-toc-section-iii---prep-work-target-3ds">Section III - Prep Work (target 3DS)</a></li>
<li><a href="#section-iv---kartdlphax" id="markdown-toc-section-iv---kartdlphax">Section IV - kartdlphax</a></li>
<li><a href="#section-v---unsafe_mode" id="markdown-toc-section-v---unsafe_mode">Section V - unSAFE_MODE</a></li>
<li><a href="#section-vi---installing-boot9strap" id="markdown-toc-section-vi---installing-boot9strap">Section VI - Installing boot9strap</a></li>
<li><a href="#section-vii---restoring-wifi-configuration-profiles" id="markdown-toc-section-vii---restoring-wifi-configuration-profiles">Section VII - Restoring WiFi Configuration Profiles</a></li>
</ul>
</li>
<li><a href="#continue-to-finalizing-setup" id="markdown-toc-continue-to-finalizing-setup">Continue to Finalizing Setup</a></li>
</ul>
</nav>
</aside>
<details class="notice--info">
<summary><em>Technical Details (optional)</em></summary>
<p>In order to exploit the SAFE_MODE firmware of our system, we need to inject an exploited WiFi profile.</p>
<p>To accomplish this, we can use the Download Play functionality of the game Mario Kart 7, using a 3DS with custom firmware already installed along with a custom game plugin.</p>
<p>This custom plugin will send a hacked payload to an unhacked console, which then exploits the system in order to inject the exploited WiFi profile into your connections list.</p>
<p>Once the WiFi profile has been injected, we will use SAFE_MODE, which is a recovery feature present on all 3DS consoles, to activate the exploited WiFi profile.</p>
<p>For a more technical explanation, see the following links for information on the kartdlphax and unSAFE_MODE exploits: <a href="https://github.com/PabloMK7/kartdlphax">kartdlphax</a>, <a href="https://github.com/zoogie/unSAFE_MODE/">unSAFE_MODE</a>.</p>
</details>
<h3 id="compatibility-notes">Compatibility Notes</h3>
<p>In order to follow these instructions, you will need the following:</p>
<ul>
<li>A second 3DS with custom firmware (the <strong>source 3DS</strong>) that is the same region as the 3DS you are trying to modify (the <strong>target 3DS</strong>)
<ul>
<li>The consoles must be USA, JPN, or EUR region consoles</li>
</ul>
</li>
<li>A physical or digital copy of Mario Kart 7 that is the same region as both consoles</li>
<li>An SD card for both devices</li>
</ul>
<h3 id="what-you-need">What You Need</h3>
<p>On the <strong>source 3DS</strong> (the 3DS with custom firmware):</p>
<ul>
<li>The latest release of <a href="https://github.com/PabloMK7/kartdlphax/releases/latest">kartdlphax</a> (<code class="language-plaintext highlighter-rouge">plugin.3gx</code>)</li>
<li>The latest release of <a href="https://github.com/PabloMK7/Luma3DS_3GX/releases/latest">Luma3DS 3GX Loader Edition</a> (<code class="language-plaintext highlighter-rouge">boot.firm</code>)</li>
</ul>
<p>On the <strong>target 3DS</strong> (the 3DS that you are trying to modify):</p>
<ul>
<li>The latest release of <a href="https://github.com/d0k3/SafeB9SInstaller/releases/download/v0.0.7/SafeB9SInstaller-20170605-122940.zip">SafeB9SInstaller</a> (direct download)</li>
<li>The latest release of <a href="https://github.com/SciresM/boot9strap/releases/download/1.4/boot9strap-1.4.zip">boot9strap</a> (direct download)</li>
<li>The latest release of <a href="https://github.com/LumaTeam/Luma3DS/releases/latest">standard Luma3DS</a> (the Luma3DS <code class="language-plaintext highlighter-rouge">.zip</code> file)</li>
<li>The latest release of <a href="https://github.com/zoogie/unSAFE_MODE/releases/latest">unSAFE_MODE</a> (the RELEASE <code class="language-plaintext highlighter-rouge">.zip</code> file)</li>
</ul>
<h4 id="section-i---hardware-button-check-target-3ds">Section I - Hardware Button Check (target 3DS)</h4>
<ol>
<li>Power on your device</li>
<li>Press the (Left Shoulder) and (Right Shoulder) buttons at the same time
<ul>
<li>The camera applet should appear</li>
</ul>
</li>
<li>Power off your device</li>
</ol>
<p class="notice--warning">If you do not boot into Safe Mode, the system update menu after multiple attempts, you cannot follow this method. If this is the case, join <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew on Discord</a> and ask, in English, for help.</p>
<h4 id="section-ii---prep-work-source-3ds">Section II - Prep Work (source 3DS)</h4>
<p>In this section, you will set up your source 3DS (the 3DS with custom firmware) for delivery of the exploit data to the target 3DS.</p>
<ol>
<li>Insert the SD card of your <strong>source 3DS</strong> in your computer</li>
<li>Copy Luma 3GX Loader Editions <code class="language-plaintext highlighter-rouge">boot.firm</code> to the root of the <strong>source 3DS</strong>s SD card, replacing any existing file
<ul>
<li>The root of the SD card refers to the initial directory on your SD card where you can see the Nintendo 3DS folder, but are not inside of it</li>
</ul>
</li>
<li>Copy kartdlphaxs <code class="language-plaintext highlighter-rouge">plugin.3gx</code> to the following directory on the <strong>source 3DS</strong>s SD card, depending on the <strong>region of your copy of Mario Kart 7</strong>:
<ul>
<li>USA: <code class="language-plaintext highlighter-rouge">luma/plugins/0004000000030800</code></li>
<li>EUR: <code class="language-plaintext highlighter-rouge">luma/plugins/0004000000030700</code></li>
<li>JPN: <code class="language-plaintext highlighter-rouge">luma/plugins/0004000000030600</code></li>
<li>Create the <code class="language-plaintext highlighter-rouge">plugins</code> and <code class="language-plaintext highlighter-rouge">00040000...</code> folders if they do not already exist</li>
</ul>
</li>
<li>Eject the SD card and put it in the <strong>source 3DS</strong></li>
</ol>
<h4 id="section-iii---prep-work-target-3ds">Section III - Prep Work (target 3DS)</h4>
<p>In this section, you will copy the files needed to trigger the unSAFE_MODE exploit onto your target 3DS (the 3DS that you are trying to modify)s SD card.</p>
<ol>
<li>Insert the SD card of your <strong>target 3DS</strong> in your computer</li>
<li>Copy <code class="language-plaintext highlighter-rouge">boot.firm</code> and <code class="language-plaintext highlighter-rouge">boot.3dsx</code> from the standard Luma3DS <code class="language-plaintext highlighter-rouge">.zip</code> to the root of your SD card</li>
<li>Create a folder named <code class="language-plaintext highlighter-rouge">boot9strap</code> on the root of your SD card</li>
<li>Copy <code class="language-plaintext highlighter-rouge">boot9strap.firm</code> and <code class="language-plaintext highlighter-rouge">boot9strap.firm.sha</code> from the boot9strap <code class="language-plaintext highlighter-rouge">.zip</code> to the <code class="language-plaintext highlighter-rouge">/boot9strap/</code> folder on your SD card</li>
<li>Copy <code class="language-plaintext highlighter-rouge">SafeB9SInstaller.bin</code> from the SafeB9SInstaller <code class="language-plaintext highlighter-rouge">.zip</code> to the root of your SD card</li>
<li>Copy <code class="language-plaintext highlighter-rouge">usm.bin</code> from the unSAFE_MODE <code class="language-plaintext highlighter-rouge">.zip</code> to the root of your SD card</li>
<li>Create a folder called <code class="language-plaintext highlighter-rouge">3ds</code> on the root of your SD card</li>
<li>Copy the <code class="language-plaintext highlighter-rouge">slotTool</code> folder from the unSAFE_MODE <code class="language-plaintext highlighter-rouge">.zip</code> to the <code class="language-plaintext highlighter-rouge">3ds</code> folder on your SD card</li>
<li>Eject the SD card and put it in the <strong>target 3DS</strong></li>
</ol>
<h4 id="section-iv---kartdlphax">Section IV - kartdlphax</h4>
<p>In this section, you will use Download Play to transfer the exploit data from the source 3DS to the target 3DS, which can be used to overwrite your Wi-Fi slots with hacked data. Your Wi-Fi connection settings will be temporarily overwritten while the exploit is active.</p>
<ol>
<li>Power on the <strong>source 3DS</strong>
<ul>
<li>If you are prompted to set up Luma3DS, just press START to save the configuration</li>
</ul>
</li>
<li>Once in the HOME Menu, press (Left Shoulder) + (Down D-Pad) + (Select) to bring up the Rosalina menu</li>
<li>Select “Enable plugin loader”</li>
<li>Press (B) to exit the Rosalina menu</li>
<li>Launch Mario Kart 7
<ul>
<li>Ensure that wireless connectivity is enabled</li>
</ul>
</li>
<li>Navigate to <code class="language-plaintext highlighter-rouge">Local Multiplayer</code>. A menu should pop up
<ul>
<li>If the screen freezes, hold the power button for fifteen seconds to force power off your device, then try again</li>
<li>If you have launched kartdlphax previously, the last selected settings will be loaded. If they are correct, select <code class="language-plaintext highlighter-rouge">Use settings</code> and skip the next 3 steps. If they are incorrect, select <code class="language-plaintext highlighter-rouge">Change settings</code> and proceed.</li>
</ul>
</li>
<li>Select your <strong>target 3DS</strong> device type (Old 3DS family or New 3DS family)</li>
<li>Select the exploit type <code class="language-plaintext highlighter-rouge">3DS ROP xPloit Injector</code></li>
<li>A confirmation menu will show up. If the settings shown on the top screen are correct, select <code class="language-plaintext highlighter-rouge">Use settings</code>
<ul>
<li>If the settings are not correct, press <code class="language-plaintext highlighter-rouge">Change settings</code> and modify them accordingly</li>
</ul>
</li>
<li>Select <code class="language-plaintext highlighter-rouge">Create Group</code>
<ul>
<li>If the source 3DS freezes at this point and you are using a cartridge, try <a href="dumping-titles-and-game-cartridges#installing-a-game-cartridge-directly-to-the-system">installing the cartridge to the system</a></li>
</ul>
</li>
<li>Power on the <strong>target 3DS</strong>
<ul>
<li>Ensure that wireless connectivity is enabled</li>
</ul>
</li>
<li>On the <strong>target 3DS</strong>, open the Download Play application (<img src="https://3ds.hacks.guide/images/download-play-icon.png" alt="" height="24px" width="24px" />), then select “Nintendo 3DS”</li>
<li>Join the group created by the <strong>source 3DS</strong></li>
<li>Select “Start” on the <strong>source 3DS</strong> once it has detected the <strong>target 3DS</strong></li>
<li>Once multiplayer has loaded, navigate to <code class="language-plaintext highlighter-rouge">Grand Prix</code> -&gt; <code class="language-plaintext highlighter-rouge">50cc</code> -&gt; (any driver) -&gt; <code class="language-plaintext highlighter-rouge">Mushroom Cup</code> -&gt; <code class="language-plaintext highlighter-rouge">OK</code></li>
<li>Wait a while (a percentage should be displayed on the <strong>source 3DS</strong>)</li>
<li>If the exploit was successful, the <strong>target 3DS</strong> will have booted into the 3DS ROP xPloit Injector
<ul>
<li>If the exploit was not successful, power off the <strong>source 3DS</strong> and <strong>target 3DS</strong> and start again from the beginning of <code class="language-plaintext highlighter-rouge">Section III - kartdlphax</code></li>
</ul>
</li>
<li>Press (X) to inject unSAFE_MODE</li>
<li>If the injection was successful, the screen will turn green and the <strong>target 3DS</strong> will automatically power off
<ul>
<li>If the screen turns red, power off the target 3DS and start again from the beginning of <code class="language-plaintext highlighter-rouge">Section III - kartdlphax</code>. If this doesnt work, ask for help at <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew on Discord</a>)</li>
</ul>
</li>
</ol>
<p class="notice--info">You will <strong>not</strong> need to use your <strong>source 3DS</strong> to complete any further steps on this guide. Any further steps should only be completed on the <strong>target 3DS</strong>.</p>
<h4 id="section-v---unsafe_mode">Section V - unSAFE_MODE</h4>
<p>In this section, you will enter Safe Mode (a feature available on all 3DS family devices) and navigate to a menu where unSAFE_MODE will be triggered, which will launch you into the boot9strap (custom firmware) installer.</p>
<ol>
<li>With your device still powered off, hold the following buttons: (Left Shoulder) + (Right Shoulder) + (D-Pad Up) + (A), and while holding these buttons together, power on your device
<ul>
<li>Keep holding the buttons until the device boots into Safe Mode (a “system update” menu)</li>
</ul>
</li>
<li>Press “OK” to accept the update
<ul>
<li>There is no update. This is part of the exploit</li>
</ul>
</li>
<li>Press “I accept” to accept the terms and conditions</li>
<li>The update will eventually fail, with the error code <code class="language-plaintext highlighter-rouge">003-1099</code>. This is intended behaviour</li>
<li>When asked “Would you like to configure Internet settings?”, select “Yes”</li>
<li>On the following menu, navigate to <code class="language-plaintext highlighter-rouge">Connection 1</code> -&gt; <code class="language-plaintext highlighter-rouge">Change Settings</code> -&gt; <code class="language-plaintext highlighter-rouge">Next Page (right arrow)</code> -&gt; <code class="language-plaintext highlighter-rouge">Proxy Settings</code> -&gt; <code class="language-plaintext highlighter-rouge">Detailed Setup</code> (<a href="/images/screenshots/usm/safemode_highlighted.png">image</a>)</li>
<li>If the exploit was successful, your device will have booted into SafeB9SInstaller
<ul>
<li>If your device instead freezes on a white screen, hold the POWER button until it turns off, then retry this section</li>
<li>If your device instead freezes on a red screen, you are missing <code class="language-plaintext highlighter-rouge">usm.bin</code> from the root of your SD card</li>
</ul>
</li>
</ol>
<h4 id="section-vi---installing-boot9strap">Section VI - Installing boot9strap</h4>
<p>In this section, you will install custom firmware onto your device.</p>
<ol>
<li>When prompted, input the key combo given on the top screen to install boot9strap</li>
<li>Once it is complete, press (A) to reboot your device</li>
<li>Your device should have booted into the Luma3DS configuration menu
<ul>
<li>Luma3DS configuration menu are settings for the Luma3DS custom firmware. Many of these settings may be useful for customization or debugging</li>
<li>For the purpose of this guide, <strong>leave these options on the default settings</strong> (do not check or uncheck anything)</li>
<li>If your device shuts down when you try to power it on, ensure that you have copied <code class="language-plaintext highlighter-rouge">boot.firm</code> from the Luma3DS <code class="language-plaintext highlighter-rouge">.zip</code> to the root of your SD card</li>
</ul>
</li>
<li>Press (Start) to save and reboot</li>
</ol>
<p>At this point, your console will boot to Luma3DS by default.</p>
<ul>
<li>Luma3DS does not look any different from the normal HOME Menu. If your console has booted into the HOME Menu, it is running custom firmware.</li>
<li>On the next page, you will install useful homebrew applications to complete your setup.</li>
</ul>
<h4 id="section-vii---restoring-wifi-configuration-profiles">Section VII - Restoring WiFi Configuration Profiles</h4>
<p>In this section, you will enter the Homebrew Launcher (using custom firmware) so that you can restore the Wi-Fi connection slots that were overwritten in Section I.</p>
<ol>
<li>Launch the Download Play application</li>
<li>Wait until you see the two buttons
<ul>
<li>Do not press either of the buttons</li>
</ul>
</li>
<li>Press (Left Shoulder) + (D-Pad Down) + (Select) at the same time to open the Rosalina menu</li>
<li>Select “Miscellaneous options”</li>
<li>Select “Switch the hb. title to the current app.”</li>
<li>Press (B) to continue</li>
<li>Press (B) to return to the Rosalina main menu</li>
<li>Press (B) to exit the Rosalina menu</li>
<li>Press (Home), then close Download Play</li>
<li>Relaunch the Download Play application</li>
<li>Your device should load the Homebrew Launcher</li>
<li>Launch slotTool from the list of homebrew</li>
<li>Select “RESTORE original wifi slots 1,2,3”</li>
<li>Your device will then reboot</li>
</ol>
<hr />
<h3 class="notice--primary" id="continue-to-finalizing-setup">Continue to <a href="finalizing-setup">Finalizing Setup</a></h3>
</section>
<footer class="page__meta">
</footer>
</div>
</article>
</div>
</div>
<div id="footer" class="page__footer">
<footer>
<!-- start custom footer snippets -->
<!-- end custom footer snippets -->
<div class="page__footer-follow">
<ul class="social-icons">
<li><strong>Follow:</strong></li>
<li><a href="https://github.com/hacks-guide/Guide_3DS" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
<!--
<li><a href="/feed.xml"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> Feed</a></li>
</ul>
-->
</div>
<!-- custom footer, guide specific -->
<div class="page__footer-copyright">&copy; 2023 Nintendo Homebrew. - <a href="site-navigation">Site Navigation</a> - <a href="privacy-policy">Privacy Policy</a> <!-- Powered by <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.--></div>
</footer>
</div>
<script src="/assets/js/main.min.js"></script>
<!-- for guide purposes all caching is removed and is separately built. -->
<script>
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
ga('create','UA-86465881-1','auto');
ga('set', 'anonymizeIp', false);
ga('send','pageview')
</script>
<script src="https://www.google-analytics.com/analytics.js" async></script>
</body>
</html>