首页
社区
课程
招聘
[旧帖] [求助]or命令在循环中的意思 0.00雪花
发表于: 2006-12-21 09:17 3707

[旧帖] [求助]or命令在循环中的意思 0.00雪花

2006-12-21 09:17
3707
00401044  |> /0FB60E        /movzx   ecx, byte ptr [esi]    取用户名每一位
00401047  |. |46            |inc     esi
00401048  |. |0BC9          |or      ecx, ecx
0040104A  |. |74 06         |je      short 00401052
0040104C  |. |F7E1          |mul     ecx
0040104E  |. |03C2          |add     eax, edx
00401050  |.^\EB F2         \jmp     short 00401044

        请问其中or ecx,ecx是什么意思?是检查字符是否为空吗?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
or ecx,ecx 就是把ecx与本身做或运算,结果还是自己,但会影响标志位,这个要结合下面的那条语句来理解的,如果ecx是0的话,那自己与自己相或就是0,则跳转,ecx是非0的话,则不跳转
2006-12-21 09:29
0
雪    币: 133
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是的,从eds:esi取一个字符,若为空则段内转移00401052,否则
ecx*eax-->eax
再eax+edx---->eax,
再转到00401044
2006-12-21 09:30
0
游客
登录 | 注册 方可回帖
返回
//