

213K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2#2M7r3I4G2j5h3c8Q4x3X3g2W2k6g2)9J5c8X3k6A6L8r3g2K6i4K6u0r3x3e0V1H3y4o6l9H3y4U0c8Q4x3V1k6i4M7X3W2@1k6g2)9#2k6W2y4@1M7X3W2F1k6#2)9J5k6i4A6A6M7q4)9J5k6h3S2@1L8h3H3`.
这款 x64dbg 插件是专门为**“修改内存数据 (Write)”和“高级导航 (Follow/Focus)”**而设计的工具。它能最大限度地减少鼠标点击,仅通过命令行或快捷键即可大幅提升调试速度。
以下是该插件的核心用法和功能总结:
1. 内存写入相关 (Write Commands)
这是最基础的功能,用于在特定地址立即覆盖字符串或十六进制数据。
(1) 写入字符串 (w)
用法: w [地址], [字符串]
应用: 修改程序的 MessageBox 文本,或修补(Patch)特定的路径字符串。
示例:
w 401000, Hello World:在 0x401000 地址写入 "Hello World"。
w cur, MyTestString:在当前选择的汇编代码位置写入字符串。
编码设置: 写入前可以更改编码格式:
w enc, 1:ANSI (默认)
w enc, 2:UTF-16 (Unicode)
w enc, 3:UTF-8
(2) 写入十六进制数据 (wh)
用法: wh [地址], [HexBytes]
特点: 内置备份功能,可以使用 x64dbg 的“还原 (Restore)”功能。
示例:
wh rax, 90 90 90:在 RAX 指向的地址写入 3 个字节的 NOP (90)。
wh 401500, EBFE:在相应地址写入死循环代码。
2. 内存转储提取 (dm)
将正在分析的内存区域立即保存为文件。
用法: dm [起始地址], [大小], [文件路径]
应用: 提取解密后的 Shellcode 或动态生成的代码,以便进行精确分析。
示例: dm base, 1000, C:\dump.bin(从当前模块基址开始保存 0x1000 字节)
3. 核心:导航与焦点控制(必须注册快捷键)
重要: 这些功能直接输入命令效率较低,务必注册为快捷键 (Hotkeys) 才能发挥真正威力。它们可以让你省去“右键 -> 在转储中跟随 (Follow in Dump)”的繁琐步骤。
(1) fda (Follow Dump Address)
功能: 在转储窗口中立即显示指定的地址。
应用: 当指令中包含地址时,快速查看该地址的实际数据。
(2) fdc (Follow Dump Constant)
功能: 将当前指令中包含的**“常量值 (Constant)”**视为地址,并在转储窗口中跳转。
应用: 例如在 mov eax, 0x405000 这样的代码中,想直接跳转到 0x405000 时使用。
(3) fdr (Follow Dump Register)
功能: 跳转到当前指令中**“寄存器 (Register)”**所指向的地址。
应用: 在 mov [edx], eax 这种代码中,想要立即确认 edx 指向的内存时使用。
(4) swf (Switch Focus)
功能: 仅在反汇编窗口和转储窗口之间切换焦点。
应用: 在 x64dbg 中,直接点击窗口有时会导致滚动条偏移或丢失位置,而该命令能在保持当前位置不变的情况下切换焦点。
4. 特殊关键字 (Expressions)
在命令中使用以下关键字替代具体地址会非常方便:
cur:反汇编窗口中当前选择行的地址。
sel:转储窗口中鼠标拖动选中的区域起始地址。
base:当前分析模块的基地址 (Base Address)。
ep:入口点 (Entry Point) 地址。
5. 快捷键注册方法(强烈推荐)
为了充分利用此插件,请务必进行以下设置:
x64dbg 顶部菜单:Favorites -> Manage favorites Tool -> Command
在 Command 栏目中添加命令并设置对应的快捷键。
推荐快捷键配置:
fda: 自定义
fdc: 自定义
fdr: 自定义
swf: Tab(最推荐的设置。方便在查看代码时随时切换到转储修改数据,然后再快速跳回代码。)
总结
这款插件是为了实现**“无鼠标调试”**而设计的。特别是通过 swf 切换窗口,结合 fdr 或 fdc 立即追踪寄存器/常量地址,一旦习惯这种流程,你的分析速度将提升数倍。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 1天前
被razerd编辑
,原因: