我正在OllyDBG中调试应用程序。我想创建一个脚本或自动化。我在某个地址上设置一个断点,然后转到其堆栈参数。有四个堆栈参数。

我使用第二个参数的地址和第四个参数的大小,并将HEX数据转储到日志文件中。例如:


我在0x512A12处设置了一个断点。

我在堆栈中看到以下内容:

00192003   005DB123  RETURN to program.005DB123 from program.00512A12
00192011   0018F058 - 1st argument
00192028   03F48D78 - 2nd argument
00192032   03F48D78 - 3rd argument
00192036   00000500 - 4th argument


所以,我从0x00192028 03F48D78 - 2nd argument开始的地址转储了数据。这是0x03F48D78
我使用第4个参数00192036 00000500 - 4th argument的大小。这是500
,然后将数据保存在日志文件中。它是Olly中转储部分的十六进制数据。

因此,我想循环此功能并将其自动化。

如何在Ollyscript或其他创建的东西上实现这种自动化?

#1 楼

您的线程缺少更多信息,例如代码的入口点和端点,因此我的脚本不应该到达终点。

var v
var h
br:
cmp eip,00192003
jne label
mov v,[00192036]
mov h,[00192028]
dma h, v, "c:\dump.bin"
label:
sti
run
jmp br