首页
社区
课程
招聘
[求助]谁帮我看看这段汇编是什么意思,
发表于: 2009-9-23 23:03 3674

[求助]谁帮我看看这段汇编是什么意思,

2009-9-23 23:03
3674
0040175E   .  8D7C24 14     lea     edi, dword ptr [esp+14]
00401762   .  83C9 FF       or      ecx, FFFFFFFF     
00401765   .  33C0          xor     eax, eax
00401767   .  8D6B 6C       lea     ebp, dword ptr [ebx+6C]
0040176A   .  F2:AE         repne   scas byte ptr es:[edi]
0040176C   .  F7D1          not     ecx
0040176E   .  49            dec     ecx
0040176F   .  6A 01         push    1
00401771   .  8BF1          mov     esi, ecx
00401773   .  8BCD          mov     ecx, ebp
00401775   .  56            push    esi
00401776   .  897424 18     mov     dword ptr [esp+18], esi

为什么ECX要和 FFFFFFFF 或, 结果好像是-1 还有后边 几行,不知道是什么意思!

谁帮我看下,不胜感激!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
2
查看寄存器!!!
2009-9-24 10:02
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
3
计算edi中的数据长度
2009-9-24 10:07
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
0040175E   .  8D7C24 14     lea     edi, dword ptr [esp+14] 这是一个字符串传入edi
00401762   .  83C9 FF       or      ecx, FFFFFFFF     
00401765   .  33C0          xor     eax, eax
00401767   .  8D6B 6C       lea     ebp, dword ptr [ebx+6C]
0040176A   .  F2:AE         repne   scas byte ptr es:[edi]
0040176C   .  F7D1          not     ecx
0040176E   .  49            dec     ecx
0040176F   .  6A 01         push    1
00401771   .  8BF1          mov     esi, ecx
00401773   .  8BCD          mov     ecx, ebp
00401775   .  56            push    esi
00401776   .  897424 18     mov     dword ptr [esp+18], esi

这是一组求字符串的代码。。。。。举个例子说明一下………………

比如有字符串,,ab

先将ecx or FFFFFFFF,每次调用repne将edi中的字符串和eax中的比较(eax是零,就是判断字符串是否结束),ab有两个字符串要比较三次repne才会结束循环,,所以ecx最后一个F会变成1100,然后not ecx 后ecx就变成0011(就是三,ecx的大小就是字符串加1),然后dec ecx,ecx中就是字符串的长度………………
2009-9-24 12:27
0
游客
登录 | 注册 方可回帖
返回
//