NTR Debugger 2 NTRデバッカー2

NTR Debugger 2(NTRデバッカー2)でサーチしたコードに関して、3DSのセーブエディター2やプロアクセーブ・「SPIDER ARCODE」では直接使うことができないのでご注意ください。
それではNTR Debugger 2の簡単な使い方を紹介します。

今回も「SPIDER ARCODE」のコードサーチしたステラグロウで検証しました。

NTR Debugger 2は、PCと3DSをWi-Fiで接続し、コマンドでメモリダンプや直接メモリを書き換えできるのが特徴です。
ただし3DSのホーム画面のみでしか作業が行えないのと、PCと3DSのWi-Fi接続が不安定なのが難点です。

まず http://filetrip.net/dl?Hnp6C8NakH でNTR Debugger.zip(19.11MB)をダウンロードして解凍しておきます。

NTR Debuggerの本体は、ntrclientフォルダ内にあるntrclient.exeですが、PCにPython 2.7とMicrosoft .NET Framework 4.5以上をインストールしていないと起動できないようなので、一度起動できるか試してみるといいです。
NTR Debugger上で使うコマンドは付属のReadme.txtに載っています。

実際にここからステラグロウを使って解説していきます。
まず3DS上でntr CFW 3.0を起動しXとYボタンを同時に押して、NTR CFWのメニューでEnable DebuggerでAボタンを押します。
ホーム画面に戻り、ステラグロウをプレイします。
ビアンカ商会に入りホームボタンを押してゲームを中断します。

ここからPC上でntrclient.exeからNTR Debuggerを起動します。
NTR Debuggerの下のコマンドを打ち込むスペースに
connect('3DSのIPアドレス', 8000)
と入力するか貼り付けてEnterキーを押す。

3DSのIPアドレスが分からない場合はWNetWatcher等のフリーソフトで調べて下さい。

Server connectedと表示されれば接続成功です。

NTR Debugger 2 使い方 コマンド

続いてプロセスの一覧表示コマンドの
listprocess()
と入力しEnterキーを押す。
ここからステラグロウのtidを探してpidの数字をメモします。
pidの数字は、NTR CFWのチートの使い方で解説したID:と同じです。
今回はtid:0004000000144500でpid:0x00000028です。(画像の赤線)

メモリ配置の表示コマンド
memlayout(0x28)
と入力しEnterキーを押す。
28はさきほどのpidの数字です。

続いてアドレスを指定してメモリダンプをします。
一般的にアドレス14000000 - 172fffffを選ぶのですが、ステラグロウの場合は違っていました。

一応、data(0x14000000, 0x3300000, filename='data.bin', pid=0x28)でダンプデータを取ります。
数分後、successfullyと表示されntrclientフォルダ内にdata.binファイルができます。
data.binファイルから所持金のサーチをしましたが見つからず、2番目に大きいサイズのアドレス08000000 - 08a99fffのメモリダンプを取ります。

data(0x08000000, 0xa9a000, filename='data.bin', pid=0x28)

さきほどのdata.binファイルが上書きされます。(コマンドのfilename='data.bin'を変更すると指定したファイル名の.binファイルが作成されます。)
バイナリエディタでサーチしたところ、アドレス000D4430(実際は08000000を足して080D4430)が所持金のアドレスらしいと判明しました。

試しに所持金99999999(05F5E0FF)になるようにメモリに書き込んでみます。
write(0x080D4430, (0xFF, 0xE0, 0xF5, 0x05), pid=0x28)
ゲームに戻り画面を切り替えたところ所持金99999999になりました。

ちなみにこの所持金のアドレス080D4430に何となく見覚えがありますね。
「SPIDER ARCODE」の所持金のアドレス033D4430と下5桁が同じです。
同じくアルトのLVのアドレスは080D4460でARCODEでの差分と同じです。
「SPIDER ARCODE」のアドレスとNTR Debugger上でのアドレスは共通性があるので、単純なメモリ書き込みに利用できそうです。

3DSのIPアドレスがコロコロ変わってPCとのWi-Fi接続が不安定な場合は、3DSのIPアドレスを固定すると多少作業がやりやすいかもしれません。


NTR Debugger 2に付属のsearch.pyを使ったコードサーチも簡単に紹介します。

使えるコマンド一覧はNTR Debugger.zip内の文字化けしたファイルに中国語で書いてあります。

NTR Debugger 2 search.py
まずsearch.pyを起動後、loadと打ち込むと自動でdata.binを読み込みます。
start dword|word|byte でサーチする数字の桁数を選びます。
所持金は8桁なのでstart dword

次にサーチする数字を打ち込みます。
9999の場合search 0x270F もしくはsearch 9999です。
サーチ結果が出るので新たに所持金99999999のdata2.binを読み込みます。
load data2.binと入力。
数字99999999をサーチするので、search 0x05F5E0FFと入力。
1つだけ見つかったのでviewでアドレスを表示させる。
今回はアドレス08000000 - 08a99fffのメモリダンプファイルなので、このアドレスに08000000を足すとNTR Debugger 2上で使えるアドレスになります。

NTR Debugger 2 search.py
load data2.binの直後にviewと入力すると直前のサーチ結果の数値の変化が表示されます。