lxyg06 发表于 2017-5-27 14:53

从零开始学习破解注册码-比较

第二章节介绍跳转,这一节主要介绍影响跳转条件的,比较

所谓比较指令,就是不影响寄存器的值,只影响标志位
cmp ,TEST

暴力破解中一般用到CMP 与TEST ,进行跳转前的比较


TEST的一个非常普遍的用法是用来测试一方寄存器是否为空:

test ecx, ecx
jz somewhere

如果ecx为零,设置ZF零标志为1,Jz跳转


CMP属于算术运算指令

功能: 比较两个值(寄存器,内存,直接数值)
语法: CMP r/m,r/m/data
标志位: C,P,A,Z,O

CMP比较.(两操作数作减法,仅修改标志位,不回送结果).
cmp实际上是只设置标志不保存结构的减法,并设置Z-flag(零标志).
零标志很像carry,也是内部标志寄存器的一位.

例如:
Cmp eax, 2;             如果eax-2=0即eax=2就设置零标志为1
Jz somewhere ;          如果设置了零标志就跳转

得出的结论
test逻辑与运算结果为零,就把ZF(零标志)置1;
cmp 算术减法运算结果为零,就把ZF(零标志)置1.

TEST 更像是AND OR 等这些逻辑指令

cmp 更像是 ADDSUB 等这些运算指令




这里就用到了很多的比较

汇编后就可以看出来



test 汇编没有找到对应的编码就业先给你看一下类型



zhouyuqi 发表于 2017-5-27 15:10

虽然看不懂,,但是感觉好牛逼得样子

蓝瑟之懿 发表于 2017-5-27 15:24

小白表示厉害

潘叟box 发表于 2017-5-27 15:56

哎,,,,老了。只能吃你们嚼过的饭了。没精力学了

c00kie 发表于 2017-5-27 15:59

支持支持。

asat168 发表于 2017-5-27 16:10

表示看不懂

googls 发表于 2017-5-27 20:29

看来我要好好学习了 有个程序解不了 诶!

点击下载 发表于 2017-5-28 08:09

青春未始 发表于 2017-6-10 08:00

表示有压力

hxp.china.sh 发表于 2017-6-19 11:33

乃小白一个,看不懂,完全0基础, 还是回贴一枚
页: [1] 2 3
查看完整版本: 从零开始学习破解注册码-比较