读者要求:
你可以阅读和传播本文章,但不能对文章的内容作任何的修改,请尊重作者(译)的劳动 。
*********************************
ProcDump32 的 Script 扩展:
*********************************
A) 功能定义:
*************************
1) Look 功能:
这个 Look 功能是在被载入的程序中查找指定的 HEX 字串。它会把找到了的内存 地址保存下来以便你可以方便在此内存地址设置断点。例:
Look OF,85 将用于搜索一个 JNE 或一个长 jump 。你可以通过 BP 命令来设置断点。
2) ADD 功能:
允许你在当前内存地址上加一个变址值(例:出现于 look 命令或 POS 命令之后)。
3) DEC 功能:
猜测;)
4) REPL 功能
这个功能用于在当前内存中修改内码(连续的 HEX )(注:它出现在 look 命令之后)。
例:
REPL 90,90 将会在你当前的内存位置开始连接放入两个 NOP 指令。
5) BP 功能
在当前内存位置设置一个断点。
6) BPX 功能
在指定的位置设置断点。这个位置与程序开始位置有关。
例:
如果程序的开始位置在 RVA 66000h,BPX 2672 就会在 RVA 68672 设置断点。
7) BPF 功能(用标志位设断)
这个功能会检查每一次断点发生时的标志位的值是否为你所设定的值。断点的位置为
当前内存地址。
Unset/Set 的内容
*******************
C * C * 进位标志。
P * P * 奇偶标志。
A * A * 辅助进位标志。
Z * Z * 零标志。
S * S * 正负号标志。
D * D * 方向标志。
O * O * 溢出标志。
你可以单独测试 ONE 旗标。
8) BPC 功能
当经过当前位置的次数达到设定值时发生中断。
例:
BPC 15 ( 在第 21(15h) 次经过当前位置时中断 )
9) BPV 功能
当如果寄存器的值到达了你设定的值时中断。
例:
BPV EAX=5 ( 当特定位置的 EAX=5 时中断 ) 。
10) MOVE 功能
设置当前 EIP 。加一个参数值给当前 EIP 。但请小心使用它。其实它对于程序没有做到 什么,只是当你要跳过一些 CRC 检查时,就要用到它了,它相当于代替一连串的 NOP 指令。例:
MOVE 14 就会把当前 EIP 变为 EIP+14h 。
11) POS 功能
为所有的功能设置当前内存地址,这个位置与程序开始位置有关。
12) STEP 功能
这个功能是设置一步一步的进行分析。它通常是用于完成跟踪 dump 过程的。