月之精灵 发表于 2007-3-8 20:29:44

求助

帮忙看下:
00401779   .E8 687F0000   CALL crackme_.004096E6
0040177E   .8D7C24 30   LEA EDI,DWORD PTR SS:
00401782   .83C9 FF       OR ECX,FFFFFFFF
00401785   .33C0          XOR EAX,EAX
00401787   .83C4 0C       ADD ESP,0C
0040178A   .33D2          XOR EDX,EDX
0040178C   .F2:AE         REPNE SCAS BYTE PTR ES:
0040178E   .F7D1          NOT ECX
00401790   .49            DEC ECX
00401791   .74 23         JE SHORT crackme_.004017B6
这个00401791的JE是措什么和什么相等?

极速暴龙 发表于 2007-3-8 20:33:49

好像是算字符串长度啊如果是0点跳走了

应该是吧

极速暴龙 发表于 2007-3-8 20:35:00

LEA EDI,DWORD PTR SS:
OR ECX,FFFFFFFF
REPNE SCAS BYTE PTR ES:
NOT ECX
DEC ECX

ECX就是字符串长度

月之精灵 发表于 2007-3-8 20:49:37

回复 #3 极速暴龙 的帖子

那么00401779   .E8 687F0000   CALL crackme_.004096E6这个call返回怎样的值才能让
00401791   .74 23         JE SHORT crackme_.004017B6的跳成立?

月之精灵 发表于 2007-3-8 21:04:55

已解决
将0040178C   .F2:AE         REPNE SCAS BYTE PTR ES:
改为mov ecx,1
非常感谢您的帮助:lol:

极速暴龙 发表于 2007-3-8 21:16:01

:L 那不是算字符串的吗你给它个字符串不就行了....

那个JE是判断ECX也就是位数是否为0
页: [1]
查看完整版本: 求助