3DS断点的使用方法

3DS断点的使用方法

所需工具

NTR Debugger | NTR CFW DEX 2.2 下载请到 NTR CFW相关文章

IDA PRO 下载地址如下

当然 PYTHON之类的环境也是必须的

断点环境

3DS进入NTR CFW自制系统 加载游戏的同时按住十字键← 上屏会闪烁几次 然后停在入口点 不会进入游戏

PC端打开NTR Debugger 连接到3DS 连接方式跟之前非断点方式不太一样 命令如下

IP地址就不说了 ID编号也就是游戏所在内存的ID 此时按X+Y打开NTR菜单 选择Process Manager 光标移动到最后 一般倒数第二个或者第三个就是ID编号 可以通过按A键进入后的info菜单中的游戏ID来确定 比如ID编号为00000028 那么上面就填入28即可

连接上之后提示你输入

输入该命令就可以进入游戏了

添加删除断点

添加代码断点,如果要添加thumb格式的代码断点,就是
禁用代码断点

启用代码断点
可以添加32个

添加内存断点,默认是添加一个字宽为4字节的读写断点,如果要指定字宽跟读写属性的话,

wide可选'b' 'w' 'dw',代表1字节、2字节、4字节,type可选'l' 's' 'ls',代表读、写、读与写

禁用内存断点

启用内存断点

因为硬件限制 这里只能添加2个 所以id为0 或者 1

禁用断点后 输入一下命令来恢复游戏运行

如果还是不断触发断点 可以用下面的命令删除内存断点

查看游戏中某个地址数据的命令为:


DDDDDDD为你所想查看的地址 后面如果直接写100为十进制计算 0x100则按16进制计算显示的数据长度

查看其它寄存器

触发断点后 可以通过以下命令来查看其它寄存器的数值

display()可用来显示一些寄存器信息 具体使用命令如下

显示s0-s31寄存器的值

显示d0-d15寄存器的值

以上命令只能在断点触发后使用

显示使用的断点

以下命令用来显示当前存在的断点

显示所有breakpoint

显示所有watchpoint

这两个命令在未触发断点时也可以使用

单步执行

在触发断点后 可以用以下命令来单步执行

可以用resume()来退出单步执行

分析断点

用IDA PRO打开断点所在区域的内存 并通过获得的断点数据来分析

七支剑
笑话

发表评论

您必须登录才能发表评论!

目前评论:63   其中:访客  38   博主  25

  1. avatar ioritree 5

    baga 在A9 教過了 :cool:

  2. avatar qq 游客 5

    把4組dump(0x01 0x08 0x14)和相對應的hp位址給我 用artmoney來找

    • avatar 七支剑 博主

      @qq @qq : 数据在08区 应该不需要14区的吧 我有001和08区的 4组001和08区文件如下 HP地址就是目录名

      链接: http://pan.baidu.com/s/1dDtoGWL 密码: my3j

  3. avatar qq 游客 5

    這不用寫出來 多此一舉 對老金有愛的只有你們而已 :neutral:

  4. avatar ioritree 5

    作者有說 可以在中斷的時候改寄存器的value ,sp -0x88 <--

  5. avatar ioritree 5

    不對阿…幹嘛用金手指獲取sp的數據…脫褲子放屁,這個應該是給baga用來做指針搜尋工具用的 :mrgreen:

  6. avatar ioritree 5

    用sp做指針搜尋工具,應該就會像xce3.0的 指針搜尋工具那樣 快又準

  7. avatar ioritree 5

    看的我醉了 :tu:

  8. avatar optantic 永久VIP 5

    看不懂

  9. avatar qq 游客 5

    作者會做disassembler? 斷點的前後幾十行asm
    現在你們有遇到thumb碼?

    • avatar 七支剑 博主

      @qq @qq : 貌似没说 前后ASM用IDA PRO能看?
      thumb格式我不懂 也许遇到了我也看不懂

  10. avatar ioritree 5

    我之前向enler提出了設置或搜斷點時也顯示前後約略五至十行的disasm…不過還是被駁回 :razz:

  11. avatar Nobody 游客 3

    其实IDA有6.6版本泄漏。具体的新闻我记得看雪上见过。(只告知,我不是汇编高手)

    • avatar 七支剑 博主

      @Nobody 感谢告知 有时间我去找找看

      • avatar Nobody 游客 3

        @七支剑 顺带一提,citra针对游戏直接实现了gdb接口,然后IDA挂调试进去了。此外让我吐个槽:收集金手指时候,@ioritree做了一堆,更新时候还要挨个翻过去,挨个保存说明,挨个建立文件夹,挨个解压压缩包,很囧啊。不指望NTR自身的插件处理部分能够读取文件列表,然后根据ID后信息直接加载对应文件组,但至少可以最新金手指是直接整合的吧?要么RSS通知某金手指更新也好啊。

        • avatar 七支剑 博主

          @Nobody 感谢提醒
          金手指是直接整合的 如果你指把目录都建立好 这不科学 一个金手指文件复制N份发布不太现实 容量也会很大 而且你可以通过网页右上角的最近更新可以查看最近的更新 金手指列表每个金手指文章中都有 想要什么游戏的列表中搜索下即可下载最新的版本 我能想到唯一有障碍的只不过搬运起来有困难 对用户完全没有问题

          PS:金手指文件直接放在plugin/game/目录下的话是可以直接在所有包含的对应游戏中生效的 只不过所有网络功能都会失效 而不仅仅是游戏的网络功能失效

          • avatar Nobody 游客 3

            @七支剑 点开金手指列表看着容易,实际上每次加载带有列表的页面,不论是评论还是主体,都需要160KB+的流量,或许这点值得你开网页浏览器的控制台看看。流量无限么?
            金手指直接整合没错,也没必要一次建立完。实际上,直接给压缩包里面塞一个包含列表,用户下载后执行对应工具后批处理会自动开文件夹并复制,压缩包里面只有一个cheat.plg和列表文件。毕竟访客要一个个的看过去,而作者自己知道插件包括哪些ID。当然C#的小程序或者Node.js的脚本都可以很快搞定。
            string[] IdList=File.ReadAllLines(@”Include.list”,Encoding.GetEncoding(936)); //GBK.默认UTF8
            for (int i=0;i

          • avatar Nobody 游客 3

            @七支剑 点开金手指列表看着容易,实际上每次加载带有列表的页面,不论是评论还是主体,都需要160KB+的流量,或许这点值得你开网页浏览器的控制台看看。流量无限么?
            金手指直接整合没错,也没必要一次建立完。实际上,直接给压缩包里面塞一个包含列表,用户下载后执行对应工具后批处理会自动开文件夹并复制,压缩包里面只有一个cheat.plg和列表文件。毕竟访客要一个个的看过去,而作者自己知道插件包括哪些ID。当然C#的小程序或者Node.js的脚本都可以很快搞定。
            C#主函数部分关键代码:
            string[] IdList=File.ReadAllLines(@”Include.list”,Encoding.GetEncoding(936)); //GBK.默认UTF8
            for (int i=0;i

          • avatar Nobody 游客 3

            @七支剑 点开金手指列表看着容易,实际上每次加载带有列表的页面,不论是评论还是主体,都需要160KB+的流量,或许这点值得你开网页浏览器的控制台看看。流量无限么?
            金手指直接整合没错,也没必要一次建立完。实际上,直接给压缩包里面塞一个包含列表,用户下载后执行对应工具后批处理会自动开文件夹并复制,压缩包里面只有一个cheat.plg和列表文件。毕竟访客要一个个的看过去,而作者自己知道插件包括哪些ID。当然C#的小程序或者Node.js的脚本都可以很快搞定。
            PS:直接扔plugin/game/这样的话简直得不偿失,毕竟有不少作者的金手指文件。
            PS:还有希望你去github上enler的NTRClient看看,Issue里面gdb相关说清了。

          • avatar Nobody 游客 3

            @七支剑 囧,评论失效了。

          • avatar Nobody 游客 3

            @七支剑 囧,评论失效了。算了再测试一次。

            • avatar Nobody 游客 3

              @Nobody pan.baidu.com/s/1c0pwCj2#vd73
              看过了,原来有ioritree的金手指插件内嵌列表判断,分析下掏出关键函数和偏移做了自动化程序,链接里面只是代码,请自行编译。至少我在他人的里面没见过,可见丢plugin/game是挺不负责的囧,毕竟NTR本身不知道某个插件是否适合游戏。
              当然还是作者直接提供列表的文件更简单和准确。
              @ioritree 请原谅我。从某列表上挨个点开页面,实在是很麻烦。之后还要挨个下载和建立目录和复制文件,我确实分析了你的文件。愿你看着这种Orz的收集者就笑笑好了。NTR的金手指插件没CMF之类神奇好用,不过要还是感谢你的努力。

            • avatar Nobody 游客 3

              @Nobody 顺带一提,贵站的回复贴出来对我似乎有点难。上面那堆重复的看完可以清理了,都是我昨天持续收到“Duplicate comment detected; it looks as though you’ve already said that! ”字样,Ctrl+F5却没看到,还以为没发出去。求别告诉我是昨天才开的静态缓存,刷新周期N小时?这简直太延迟了……或许可以试试W3 Total Cache?当然WP的折腾其实我不会……

  12. avatar Nobody 游客 3

    伸手黨不要太懶 剪貼佔不了多少你撸管的時間

  13. avatar ioritree 5

    一拳超人 超熱血的

  14. avatar ioritree 5

    想看肉番…