-----------------------------------------------------------------------------------------------------------------
*본문에 들어가기 전 주의사항*
1. 해당 게시물은 emuNAND에서 사용이 가능한 방법입니다.
2. 해당 게시물은 emuNAND상에서 BootNTR이 설치가 되어있다는 전제하에 만들어진 가이드입니다.
3. 해당 방법을 이용하여 발생한 불이익은 사용자 자신의 책임이며 Aka's Atelier에는 책임이 없음을 알립니다.
4. 본 블로그에서는 해당 게시물에 한정하여 자료의 일부를 공유하며 자료의 이용으로 인한 피해는 사용자 자신의 책임임을 알립니다.
5. 위 사항에 동의하시는분만 게시글을 열람하여 주시기 바랍니다.
-----------------------------------------------------------------------------------------------------------------
준비물 : Python 2.7, devkitPro, BootNTR-master
1. 다운받으신 python-2.7.x.x.msi를 실행합니다.
![](https://t1.daumcdn.net/cfile/tistory/251F304856A87A021A)
2. 실행을 하게되면 PC에 있는 모든 계정에서 사용할것인지 아니면 현재의 계정에서만 사용할것인지 묻는 부분이 나옵니다.
여기서 가급적이면 Install for all users를 선택합니다.
*해당 가이드에서 시행되는 작업은 관리자 권한을 필요로 합니다.*
![](https://t1.daumcdn.net/cfile/tistory/2168604E56A87B3723)
3. Python2.7을 설치를 할 경로를 지정하는 부분입니다.
환경 변수 수정을 할줄 모르는 경우 설치 경로는 C:\Python27\ 에 설치하시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/21016E4E56A87B3821)
3-2. 이미 설치가 되어있거나 구버전의 Python 2.7을 사용하게 되는경우 다음과 같은 창이 출력될수 있습니다.
가볍게 Yes를 눌러주시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/2517454E56A87B3928)
4. Python 2.7의 주요 기능 및 소스관련 문서들을 다운할것인지 결정하는 창입니다.
아무것도 건들지 마시고 Next를 눌러주시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/274D554E56A87B392E)
5. 다음 화면과 같이 설치가 진행이 됩니다.
![](https://t1.daumcdn.net/cfile/tistory/2437CE4E56A87B3A2F)
6. Python 2.7의 설치가 완료되었습니다.
Finish버튼을 눌러서 설치창을 종료해 줍니다.
![](https://t1.daumcdn.net/cfile/tistory/24223E4E56A87B3B28)
1. 다운받으신 devkitProUpdater-1.x.x.exe를 실행합니다.
![](https://t1.daumcdn.net/cfile/tistory/2239814356A87D8736)
2. 가볍게 Next를 눌러줍니다.
![](https://t1.daumcdn.net/cfile/tistory/27571F4356A87D8815)
3. devkitPro는 설치하기전에 해당 파일들을 다운받아서 그 후에 설치를 진행합니다.
여기서는 Download and install/ install from downloaded files를 선택한뒤 Next를 눌러주시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/237F2B4356A87D8827)
4. 다운받은 파일을 유지할것인지 지울것인지 물어보는 창입니다.
여기서는 원하시는대로 선택해주시면 됩니다.
(1) Keep downloaded files = 다운받은 파일을 유지
(2) Remove downloaded files = 다운받은 파일을 삭제
![](https://t1.daumcdn.net/cfile/tistory/2572AD4356A87D8834)
5.devkitPro에서 사용할 컴포넌트를 선택하는 창입니다.
여기서 저희가 필요한것은 다음과 같습니다.
Minimal System, devkitARM, Programmer's Notepad, Insight(선택사항)
만약 아무것도 모르겟다 싶으시면 전부 체크하신뒤에 Next를 눌러주시면 됩니다.
![](https://t1.daumcdn.net/cfile/tistory/2114144356A87D8930)
6. 설치될 경로를 지정합니다.
Python 2.7 설치때와 마찬가지로 환경 변수의 수정을 할수 없으신분은 경로를 C:\devkitPro\ 지정을 해주신뒤 Next버튼을 눌러주시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/2721334356A87D8A2E)
7. 다운로드 및 설치가 시작되며 약간의 시간이 소요됩니다.
인터넷 사정에 따라 최소 1분에서 최대 30분까지 걸리수 있으니 잠시 기다려 주시기 바랍니다.
![](https://t1.daumcdn.net/cfile/tistory/260C6E4356A87D8C31)
8. 다운로드 및 설치가 완료되었습니다.
![](https://t1.daumcdn.net/cfile/tistory/264D044356A87D8C01)
![](https://t1.daumcdn.net/cfile/tistory/25261F3F56A87D8C34)
1. emuNAND상에서 BootNTR을 실행해줍니다.
2. BootNTR을 실행하면 아래처럼 뜨다가 갑자기 코드들이 뜨면서 Fail이라고 뜹니다.
BootNTR x.x
tmpBuffer: xxxxxxxx
IsNew3DS: x
firmVersion: xxxxxxxx
testing svc_backDoor
testSvcBackdoor OK
patching svc check
svc check patched
InterProcessDmaFinishState: xxxxxxxx
SM patched
FS patched
bnPatchAccessCheck OK
copyRemoteMemory/controlProcessMemory OK
3. N3DS를 종료시킨뒤 메모리카드를 뺀뒤 PC에 연결합니다.
4. 다운받은 BootNTR-master.zip의 압축을 풀어줍니다.
5. N3DS 메모리카드를 열어보면 최상위 폴더에 생성된 pidf.dmp 파일을 BootNTR-master\tools에 넣어줍니다.
6. tools폴더의 process_homemenu.bat 파일을 실행하면 잠시뒤에 tools폴더에 result.txt 파일이 생성됩니다.
7. result.txt 파일을 실행하면 아래의 사진같은 텍스트 내용들이 나옵니다.
![](https://t1.daumcdn.net/cfile/tistory/2575B83856A887E70B)
여기서 우리가 필요한 부분들은 5번째줄의 if (t == 부터 마지막의 }까지입니다.
8. devkitPro를 설치하면서 같이 설치된 Programmer's Notepad(이하 "ProNote")를 실행합니다.
![](https://t1.daumcdn.net/cfile/tistory/21229A3356A888521B)
9. ProNote가 실행되면 BootNTR-master\source에 있는 main.c 파일을 열어줍니다.
![](https://t1.daumcdn.net/cfile/tistory/256DBE3856A8891718)
![](https://t1.daumcdn.net/cfile/tistory/246BC13C56A8886D10)
10. Ctrl+F를 눌러서 검색창을 연뒤에 Result bnInitParamsByHomeMenu를 입력해준뒤 검색하시면 아래의 화면처럼 해당 부분에 선택이 됩니다.
![](https://t1.daumcdn.net/cfile/tistory/240CBA3C56A8887433)
11. 여기서 조금만 내리시면 아래의 사진같은 return 0;부분이 포함된 코드를 볼수 있습니다.
![](https://t1.daumcdn.net/cfile/tistory/2578BB3C56A8887509)
12. 11에서 찾은 부분을 아래의 사진처럼 하나 더 만들어 줍니다.
![](https://t1.daumcdn.net/cfile/tistory/2560603E56A88A9A02)
13. 이제 result.txt로 다시 돌아와서 7에서 언급한 [5번째줄의 if (t == 부터 마지막의 }까지]부분을 봅시다.
if (t == 0xe3a08001 ) {
ntrConfig->HomeMenuVersion = SYSTEM_VERSION(INSERT_YOUR_VERSION_HERE);
ntrConfig->HomeMenuInjectAddr = 0x12ded0;
ntrConfig->HomeFSReadAddr = 0x12c19c;
ntrConfig->HomeCardUpdateInitAddr = 0x118d78;
ntrConfig->HomeFSUHandleAddr = 0x32dfa4;
ntrConfig->HomeAptStartAppletAddr = 0x12ea08;
}
이런식으로 되어있는것을 확인할수 있습니다.
아마 눈치가 빠르신분이라면 뭔가 익숙할겁니다.
12의 사진에 나온 코드 부분과 매우 일치한것을 볼수 있습니다.
이제 result.txt에서 뽑은 코드들을 12에서 만든 새로운 코드에 붙여넣습니다.
![](https://t1.daumcdn.net/cfile/tistory/24180F3A56A88C6326)
12의 사진에 있던 부분을 13의 사진처럼 바꾸신뒤
ntrConfig->HomeMenuVersion = SYSTEM_VERSION(INSERT_YOUR_VERSION_HERE);
부분을 수정해야합니다.
이 부분은 N3DS의 펌웨어 버전이 들어가야 하는곳이며 버전의 기재방식은 다음과 같습니다.
example) emuNAND 버전이 10.4.0일경우
ntrConfig->HomeMenuVersion = SYSTEM_VERSION(10,4,0);
example) emuNAND 버전이 9.9일경우
ntrConfig->HomeMenuVersion = SYSTEM_VERSION(9,9,0);
여기서 중요한것은 펌웨어 버전에 들어가는 문자는 . 이 아닌 , 입니다.
이제 변경을 다 하셧다면 Ctrl+S 혹은 좌측 상단의 디스켓모양을 클릭하여 저장을 한뒤 ProNote를 종료합니다.
14. BootNTR-master로 돌아오신뒤 build-mode0.bat 파일을 실행합니다.
![](https://t1.daumcdn.net/cfile/tistory/24599A3E56A88E4A18)
15. cmd창이 뜨면서 뭔가 좌르륵 올라가다가 마지막에 [계속하려면 아무 키나 누르십시오 . . .]라고 뜨면 종료해줍니다.
![](https://t1.daumcdn.net/cfile/tistory/275E5E3E56A88E4A16)
16. 작업이 끝나면 BootNTR-master에 output 폴더가 생기게 됩니다.
들어가시면 BootNTR의 cia, elf, smdh파일이 생성된것을 확인할수 있습니다.
여기서 BootNTR.cia파일을 N3DS에 넣고 Devmenu나 BigBlueMenu를 이용하여 설치해주시면 NTR을 정상적으로 이용하실수 있게 됩니다.
![](https://t1.daumcdn.net/cfile/tistory/2558F83756A88ECB23)
-----------------------------------------------------------------------------------------------------------------
*Issue*
Q1) NTR 구동이 완료된 상태에서 다시 한번 더 NTR을 구동하니까 검은화면에 에러스크린이 나옵니다.
혹시 벽돌된것은 아닌가요?
A1) 벽돌이 된것은 아닙니다.
해당 문제는 전원버튼을 계속 누르고 계셔서 N3DS를 종료하신뒤에 다시 켜시면 정상적으로 돌아옵니다.
원인: NTR은 자체적인 Kernelhax를 가지고 있습니다.
해당 Kernelhax는 이름 그대로 커널부분에 개입을 해서 프로그램을 실행시키는건데요.
이미 hax가 적용된 상태에서 적용된 hax를 뚫을려고 시도하다가 에러가 일어난겁니다.
-----------------------------------------------------------------------------------------------------------------
*주의사항*
1. 해당 게시물은 emuNAND에서 사용이 가능한 방법입니다.
2. 해당 게시물은 emuNAND상에서 BootNTR이 설치가 되어있다는 전제하에 만들어진 가이드입니다.
3. 해당 방법을 이용하여 발생한 불이익은 사용자 자신의 책임이며 Aka's Atelier에는 책임이 없음을 알립니다.
4. 본 블로그에서는 해당 게시물에 한정하여 자료의 일부를 공유하며 자료의 이용으로 인한 피해는 사용자 자신의 책임임을 알립니다.
5. 위 사항에 동의하시는분만 게시글을 열람하여 주시기 바랍니다.
-----------------------------------------------------------------------------------------------------------------
*CCL*
저작자와 출처 등을 표시하면 자유이용을 허락합니다.
단, 영리적 이용과 2차적 저작물의 작성은 동일설정내에서 허용됩니다.
Copyrightⓒ Aka's Atelier All Rights Reserved.
-----------------------------------------------------------------------------------------------------------------