5

我想在 xul.dll+0x7d760 的值上设置一个数据写入断点,希望使用命令脚本。

我可以使用打印 xul.dll 的基地址lm,并手动设置断点

ba w (baseaddress + 0x7d760)

但是我想不出一种将 xul.dll 的基地址存储到伪寄存器中的方法,以便我可以自动执行此操作。有没有办法以某种方式将结果存储或解析lm xul到伪寄存器中?

4

2 回答 2

4

.foreach /pS 4 /ps 3 (modbase {lm p m xul}) {ba w 4 (${modbase} + 0x7d760)}

在此命令中,模块的基地址将存储在${modbase}. 替换xul另一个模块,或{ba w 4 (${modbase} + 0x7d760)}根据需要编辑块以替换不同的命令或偏移量。

于 2013-05-13T19:34:19.003 回答
2

模块名减去后缀也可以用来表示基地址:

0:000> lm mole32
start             end                 module name
000007ff`344b0000 000007ff`3462e000   ole32      (deferred)             
0:000> ? ole32
Evaluate expression: 8792675385344 = 000007ff`344b0000
0:000> ? ole32 + 0x7d760
Evaluate expression: 8792675899232 = 000007ff`3452d760
0:000> ? 000007ff`3452d760 - ole32
Evaluate expression: 513888 = 00000000`0007d760
于 2013-05-24T14:40:57.187 回答