1)、JE 相等(=)则跳转 0标志=1 JZ
2)、CMP 操作数1 - 操作数2 不保存结果 影响标志位
3)、TEST 按位与运算 不保存结果 影响标志位
如 TEST ESI,ESI
用于判断 ESI 是否为空
ESI 为空 --> 0标志=0 ; ESI 为不空 --> 0标志=1
4)、JNE 0标志=0(没有置位) 则跳转 JNE
5)、JA/JB jb(jump below) 前者小于后者就跳转
ja(jump above) 前者大于后者就跳转
用于无符号
6)、“OllyDBG 入门系列(三)-函数参考” 中一直不理解
为什么这句代码 “LEA ECX,DWORD PTR DS:[ECX+ECX*4]” 会解释成 :“把前面运算后保存在ECX中的结果乘5再送到ECX”
那么 我先这样理解:首先这是 LEA语句,然后 跟踪到上面一点的代码 “LEA ESI,DWORD PTR DS:[4033C4]”时,看到 ESI 的值就是 4033C4 ,再加上在Win32下 段地址寻址貌似可以先忽略段得存在(),so 就相当于 ECX = ECX*5
7)、注意 上面的 “LEA ECX,DWORD PTR DS:[ECX+ECX*4]” 与
“OllyDBG 入门系列(四)-内存断点”中“MOV EBX,DWORD PTR DS:[ESI]”的区别。
前者是 ECX = ECX*5 ;后者是 EBX = [ESI] (注意方括号)
8)、GetCursorPos
阅读(638) | 评论(0) | 转发(0) |