在 WinDbg 中指定 MMX 寄存器的值

逆向工程 风袋
2021-06-14 11:34:03

我正在分析崩溃,崩溃发生在一个一直在使用的函数中,如果在这个函数中设置断点总是停止程序。

当崩溃发生时,覆盖 mm3 寄存器,我想在用我的值覆盖 mm3 时使用断点。

mm3 的原始资产注册其 0:0:e3cb:f144,崩溃时其 aaaa:aa00:0:0。

当尝试这个时:

bp abpatch ".if @mm3  = aaaa:aa00:0:0  {} .else {gc}" 

错误,我不能在 bp 上使用“:”

如果试试这个:

bp abpatch ".if @mm3  = aaaaaa000:0  {} .else {gc}"

或者

bp abpatch ".if (@mm3 & 0x0`ffffffff) = 0x0`aaaaaa0000  {} .else {gc}" 

程序崩溃,不要停止。

通常我在函数崩溃的地址用 -4 分析崩溃,但现在这个函数总是在程序上运行。

我把 aaaa 放在方便的位置。

我认为也需要在 mm3 获得此值之前停止,但我不知道 :(

如何在 mm3 寄存器上设置断点?任何其他解决方案?

任何帮助或建议?. 先谢谢了。

问候

1个回答

bp abpatch ".if mm3 = aaaaaa0000000000 {} .else {gc}"