使用NTR Debugger这个工具,可以直接对3DS游戏的内存数据进行直接修改,从而达到金手指的目的,下面是一般向的教学。
主机:3DS LL 4.4J
固件:Gateway 2.2
游戏:萨尔达3D
PC工具:NTR Debugger,python-2.7,Microsoft.NET Framework 4.5
金钱修改
↑在游戏中先获得一枚金币
↑按Home 使游戏暂停
↑开启NTR Debugger 中的ntrclient 应用程式 ,如图 输入 connect('192.168.1.101', 8000) 连上你的 3DS IP
↑输入listprocess() 查看所有进程,一般进程都是在Pid 0x00000025 ,除非你离开游戏在进去游戏 进程位置就会不一样
不过输入listprocess()查看开头名称有CTR...选它就是
↑连上IP后,接著再查看内存的分佈,输入 memlayout(0x25) #,图中我选size最大的去dump
->14000000 - 1784ffff , size: 03850000
↑dump范围 14000000 - 1784ffff ,所以是输入如图上,dump超过范围会报错不给dump
dump过程约五分钟
↑dump好第一次之后你会看到NTR Debugger目录底的有刚dump出来的 data.bin ,接著开启下方的search 展开搜寻
↑进入search命令 ,先输入 load ,输入load 它会加载你目录底的data.bin
↑load刚获得一枚金币的 data.bin ,输入 start byte 或 start word 或 start dword 开始新的搜寻
想寻找的数值比较小,于是我输入 start byte ,接著输入 search 0x01 搜寻 ,搜寻完后会告诉你有多少结果
↑获得第二枚金币 ->dump->load->search 0x2
↑获得第三枚金币 ->dump->load->search 0x3
↑获得第四枚金币 ->dump->load->search 0x4
过滤到最后剩下几条结果,输入view 查看各个数值的位置
↑试著获取更多金币 ->dump->load->search 0x9
按View查看还是都一样
从hex workshop 看是这样
↑我们从第一个列出的位置 写入数据到游戏中,write 命令 写入游戏的内存
write(0x168b5fa8, (0x0E, 0x27, 0x00, 0x00), pid=0x27) #
3DS的数据要相反来写入,写入后再输入 data(0x168b5fa8, pid=0x25) # ,可以看到 0x168b5fa8 附近的value于画面上
↑写入后 回到游戏中 右上角金币就会是我们刚输入的 9998 (0x270E)
累计评论0条
展开其余评论