首页
社区
课程
招聘
[旧帖] [求助]关于《加密与解密第三版》第29页的问题 0.00雪花
发表于: 2010-7-15 13:08 1402

[旧帖] [求助]关于《加密与解密第三版》第29页的问题 0.00雪花

2010-7-15 13:08
1402
《加密与解密第三版》第29页:
;for(i=3,j=0;i<len;i++,j++)
00401347        mov edi,[esp+18]            ;将参数从堆栈中传给edi(len参数的值)
0040134B        mov ecx,00000003          ;i=3,ecx作为变量i使用
00401350        xor esi,esi                        ;code=0
00401352        xor eax,eax                     ;j=0,eax作为变量j使用
00401354        cmp edi,ecx                      ;i<len吗
00401356        jle 00401379                  
00401358        push ebx                          ;注意这句与401378行呼应
;if(j<7) j=0
00401359        |cmp eax,00000007         ;j>7吗
0040135C        |jle 00401360
0040135E        |xor eax,eax                    ;j=0
……

1.在行00401352,逻辑运算xor eax,eax不是已经把eax清零了吗?为什么注释能说eax作为变量j呢?
2.在行00401359,eax=0(由00401352可知)那这个比较结果不就知道是:eax<7吗?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
怎么没人回复啊
2010-7-19 10:49
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主啊 你只给出这么点东西 怎么知道你的第一个问题怎么回答  至于第二个吧 我仅发表个人意见  其实我也很菜的  下面不是有个跳转的嘛 就是通过比较  然后就跳转了啥
2010-7-19 15:55
0
雪    币: 39
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
继续往下啊,后面的代码肯定有让j+1的
2010-7-19 17:22
0
雪    币: 608
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
1、逻辑运算xor eax,eax不是已经把eax清零了吗,是的,把eax清0,对应着for(i = 3,j=0..)里面的j=0

2、这是个for循环,第一次时j=0, 也就是eax=0;在后面有inc  eax   ,就是eax加1,循环7次后,eax就等于7了
2010-7-19 20:02
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢peteraa的答复,现在已经明白了
2010-7-20 11:31
0
游客
登录 | 注册 方可回帖
返回
//