当前位置首页 > 逆向破解

OD使用教程第三课(中)

阅读次数: 次  来源:  发布时间:2017-08-17

 4.jpg

关于mov指令

 
mov指令格式:mov dest, src
这是一个很容易理解的指令,mov指令将src的内容拷贝到dest,mov指令总共有以下几种扩展:
 
movs/movsb/movsw/movsd edi,esi:这些变体按串/字节/字/双字为单位将esi寄存器指向的数据复制到edi寄存器指向的空间。
movsx符号位扩展,byte->word,word->dword (扩展后高位全用符号位填充),然后实现mov。
movzx零扩展,byte->word,word->dword(扩展后高位全用0填充),然后实现mov。
 
关于cmp指令
 
cmp指令格式:cmp dest, src
cmp指令比较dest和src两个操作数,并通过比较结果设置C/?O/Z标志位。
 
cmp指令大概有以下几种格式:
cmp eax, ebx ;如果相等,Z标志位置1,否则0.
cmp eax, [404000] ;将eax和404000地址处的dword型数据相比较并同上置位。
cmp [404000], eax ;同上。
 
在逆向中,你真正需要关心的标志位只有三个,也就是cmp指令能修改的那三个:Z/O/C。
Z标志位(0标志),这个标志位是最常用的,运算结果为0时候,Z标志位置1,否则置0。
O标志位(溢出标志),在运行过程中,如操作数超出了机器能表示的范围则称为溢出,此时OF位置1,否则置0。
C标志位(进位标志),记录运算时从最高有效位产生的进位值。例如执行加法指令时,最高有效位有进位时置1,否则置0。
 
本课下载地址
链接: http://pan.baidu.com/s/1mi40pIw 密码: rj7z