Nintendo Switch Hacking

Nintendo Switch のチートコードについて

海外コードの移植

同じタイトルで海外のコードが発表されているが日本語版でも使用したい場合が多々あります

 

ポインターコードやプログラムコードです

 

同タイトルであればプログラムの中身は同じなのでアドレスの差異を求めることで移植が可能になります

 

■ 海外のポインターコードの移植

 

 下記ポインターコードを例にします

 

 [[[[[[[main+42DE990]+340]+78]+18]+98]+110]+30]+00

 

 こちらで注目すべきは [main+42DE990] です

 それ以降の +340+78+18+98+110+30+00 は基本的にプログラムの流れなので

 国内版でも海外版でも同じです 

 

1.main + 42DE990 のアドレスを求める

f:id:ZiT866:20191024124707p:plain

 上記から 7713204000 + 42DE990 = 77174E2990 になります

 

2.77174E2990 のメモリをみる

f:id:ZiT866:20191024124836p:plain

 このようにポインターアドレスだらけです

 

3.キーとなる数値を探す

 キーとなる数値はポインターアドレスでは起動毎に変動するので使えません

 下記の様にポインターアドレスではなく且つ数値が大きいものをキーとして使用します

f:id:ZiT866:20191024125704p:plain

 

4.キーとなる数値をサーチする

 64 Bit でサーチするので数値は逆になり 00005722 00006AAE となります

 こちらを main タイプから探します

f:id:ZiT866:20191024130134p:plain

 一件ヒットしました

 この様に数件の結果であればこのキーは使えます

f:id:ZiT866:20191024130236p:plain

 

5.キー数値のアドレスの差異を計算する

 ポインターアドレス:77174E2990 

 キー数値のアドレス:77174DF7A0

 77174E2990 - 77174DF7A0 = 31F0

 

日本語版で 0000572200006AAE をサーチしてそのアドレスに 31F0 をプラスした数値が答えになります

 

■ 海外のプログラムコードの移植

 

 下記コードを例にします

 04000000 009F59C4 6B1F0108

 こちらは main + 009F59C4 が目的のアドレスになります

 

1.main + 009F59C4 のアドレスを求める

f:id:ZiT866:20191024131741p:plain

 上記から 06A6A04000 + 009F59C4 = 06A73F99C4 になります

 

2.06A73F99C4 のメモリをみる

f:id:ZiT866:20191024131827p:plain

 

3.キーとなる数値を探す

 プログラムコードの場合は周辺の適当な数値で探します

f:id:ZiT866:20191024132647p:plain

 

4.main タイプ 64 bit で B900C268 5400004B をサーチする

f:id:ZiT866:20191024132805p:plain

 一件ヒットしました

 この様に数件の結果であればこのキーは使えます

f:id:ZiT866:20191024133105p:plain

 

5.日本語版で B900C2685400004B をサーチしてそのアドレスに マイナス 4 した数値が答えになります