How to Debug Nintendo Switch Games

This video shows how to use IDA Pro 7.6 as a debugger for Nintendo Switch games in order to create ASM Cheats, even if the MAIN file of the game is completely unlabeled. The video also goes over Zero-Level Pointers, a concept I forgot to go over in Part 3 of the Video Series. Finally, this video also makes some corrections to Part 4 of the Video Series, as the MOV instruction was misrepresented.
Thanks to @Eiffel2018 for his posts. I used his posts from here and here in order to make this video.
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,512
Trophies
2
XP
5,962
Country
United States
This video shows how to use IDA Pro 7.6 as a debugger for Nintendo Switch games in order to create ASM Cheats, even if the MAIN file of the game is completely unlabeled. The video also goes over Zero-Level Pointers, a concept I forgot to go over in Part 3 of the Video Series. Finally, this video also makes some corrections to Part 4 of the Video Series, as the MOV instruction was misrepresented.
Thanks to @Eiffel2018 for his posts. I used his posts from here and here in order to make this video.

My god…there‘s hours and hours of content here.

Thanks for putting it all together!

Down the rabbit hole I go.
 
  • Like
Reactions: ReclaimerShawn

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
I must start by saying that I work with the game [Pokemon Legends, Arceus v1.1.1(v262144) TID=01001F5010DFA000].

first question: how to find the master code of a game and more specifically in the pokemon arceus game?

second question:

(trying to figure out how to do a 1hit kill ) AND GOD mod
Here are the steps I take to achieve my manipulation:

1. Hp search (address **64 BIT **) with Edizion SE in a battle, performs a search each time my pokemon is hit.

2. Once an address is found, press the right stick to display in memory and take note of the numbers between the brackets.


3.disconnect Edizion SE and connect IDA Pro 7.6

4. set the parameters as follows: *see image 1-2*

5.search with ladress find on Edizon SE (memory).(see screenshoot *3*)

6.put a breakpoint on the address.(screenshoot *4*)

7. Press play and trigger the breaking point upon enemy attack.

8. got the instruction (*picture 5*)

9. type get info and subtract Main - Address
(*picture 6*)

10. open a second IDA PRO and open the Main file. (*PICTURE 7*)
set to ARM

problem: when i try to jump to my adress in my second IDA PRO i got no results... (*PICTURE 8*)

maybe its because my value is in 32 bit not 64 bit?

also can someone tell me what i should do after Step 8 (i try to NOP the instruction but nothing happend...so i was like oh maybe its a multiple pointer but when try the same breakepoint with the NOP active i got nothing. It Says : breakingPoint Hit but i got the same adress. If Anyone want to help me on the forum or teach me i have discord : Absso#9992. Thank you :)
 

Attachments

  • 1.PNG
    1.PNG
    77.4 KB · Views: 58
  • 8.PNG
    8.PNG
    141.1 KB · Views: 54
  • 7.PNG
    7.PNG
    75.4 KB · Views: 52
  • 6.PNG
    6.PNG
    272 KB · Views: 56
  • 5.PNG
    5.PNG
    126.8 KB · Views: 54
  • 4.PNG
    4.PNG
    141.6 KB · Views: 53
  • 3.PNG
    3.PNG
    134.1 KB · Views: 49
  • Memory Edizon.jpg
    Memory Edizon.jpg
    327.3 KB · Views: 42
  • Search Edizon.jpg
    Search Edizon.jpg
    317.8 KB · Views: 52
  • 2.PNG
    2.PNG
    70.7 KB · Views: 45
  • Like
Reactions: Hmed

masagrator

The patches guy
Member
Joined
Oct 14, 2018
Messages
5,731
Trophies
3
XP
10,708
Country
Poland
problem: when i try to jump to my adress in my second IDA PRO i got no results... (*PICTURE 8*)
This is because you're pasting ASLRed address while IDA has fixed start address at 0x7100000000.
You need to subtract ASLR main start address from the address you have and add result to 0x7100000000.
And since you closed the game, those addresses will be now different. You must to do it in one session.
 

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
This is because you're pasting ASLRed address while IDA has fixed start address at 0x7100000000.
You need to subtract ASLR main start address from the address you have and add result to 0x7100000000.
And since you closed the game, those addresses will be now different. You must to do it in one session.
Are you talking about screenshot 6? Because I subtract the value ?
 
  • Like
Reactions: Hmed

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
This is because you're pasting ASLRed address while IDA has fixed start address at 0x7100000000.
You need to subtract ASLR main start address from the address you have and add result to 0x7100000000.
And since you closed the game, those addresses will be now different. You must to do it in one session.
Also the game is still open so it's never too late :)
 
  • Like
Reactions: Hmed

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
This is because you're pasting ASLRed address while IDA has fixed start address at 0x7100000000.
You need to subtract ASLR main start address from the address you have and add result to 0x7100000000.
And since you closed the game, those addresses will be now different. You must to do it in one session.
Fix it! but now im here(picture) what is the next step? because its not like the video..,so what should i do? please?
 

Attachments

  • Capture.PNG
    Capture.PNG
    130.4 KB · Views: 49
  • Like
Reactions: Hmed

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
This is because you're pasting ASLRed address while IDA has fixed start address at 0x7100000000.
You need to subtract ASLR main start address from the address you have and add result to 0x7100000000.
And since you closed the game, those addresses will be now different. You must to do it in one session.
Do you have discord?
 
  • Like
Reactions: Hmed

ReclaimerShawn

Well-Known Member
OP
Member
Joined
Dec 17, 2018
Messages
294
Trophies
0
XP
1,228
Country
United States
Fix it! but now im here(picture) what is the next step? because its not like the video..,so what should i do? please?
You don't have room to put a custom value in, but you could always NOP the STR instruction you got and see what happens. Maybe it makes both you and the opponent invincible? Maybe it insta-kills both of you? If you find it effects both you and your opponent, which it likely will, give it a button activator so you can turn it off/on at your turn and then toggle it at your opponent's turn.

This way, if it's a god mode code, it only makes you invincible. Or, if it's an insta-kill code, only insta-kills your opponent.
 

absso

Member
Newcomer
Joined
Jul 21, 2022
Messages
18
Trophies
0
Age
25
Location
quebec
XP
78
Country
Canada
You don't have room to put a custom value in, but you could always NOP the STR instruction you got and see what happens. Maybe it makes both you and the opponent invincible? Maybe it insta-kills both of you? If you find it effects both you and your opponent, which it likely will, give it a button activator so you can turn it off/on at your turn and then toggle it at your opponent's turn.

This way, if it's a god mode code, it only makes you invincible. Or, if it's an insta-kill code, only insta-kills your opponent.
Thanks man thats exactly what I did! Nice work and thank you for your awnser
 
  • Like
Reactions: Hmed
General chit-chat
Help Users
  • Skelletonike @ Skelletonike:
    link doesn't work
    +2
  • Skelletonike @ Skelletonike:
    1H left, such a slow week.
  • Sonic Angel Knight @ Sonic Angel Knight:
    Okay, I had spaghetti :P
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
  • K3N1 @ K3N1:
    Your favorite activity
    K3N1 @ K3N1: Your favorite activity