首页
社区
课程
招聘
[翻译]使用OllyDbg从零开始Cracking 第六章-比较和条件跳转指令
2014-2-18 10:27 21648

[翻译]使用OllyDbg从零开始Cracking 第六章-比较和条件跳转指令

2014-2-18 10:27
21648
收藏
点赞1
打赏
分享
最新回复 (27)
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WuWeiXue 2015-1-12 23:22
26
0
支持楼主,加油↖(^ω^)↗!
雪    币: 1604
活跃值: (640)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
shayi 9 2015-2-21 17:29
27
0


现在将ECX的值修改为17,然后按F7:



可以看到结果为3,二进制形式为11,1的个数为偶数个,所以奇偶标志位置1,使用JPE指令就会发生跳转


原作者上面这段应该是写错了: 16进制的20减去17,应该等于9 ,9的2进制形式为1001,
于是,1的个数为2 ,为偶数,P标志位将被置1 ,JPE跳转将发生


雪    币: 1604
活跃值: (640)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
shayi 9 2015-2-21 19:05
28
0
**********

JNP 或JNPE
这条指令刚好与上一条指令刚好相反,当奇偶标志位P为0的时候跳转。即结果中1的个数为奇数的时候。在上面的例子中,当结果为2的时候发生跳转,当结果为3的时候不会发生跳转。

**********


在OllyDbg 2.01官方原版中测试时,发现不支持JNP指令,OD会使用等价的JPO指令来替换,
另外,OD无法识别JNPE 指令,如下所示:




游客
登录 | 注册 方可回帖
返回