首页
论坛
课程
招聘
学习OllyDBG 入门系列(二)-字串参考的一个小问题,希望斑竹或高手解答
2006-4-26 09:22 16476

学习OllyDBG 入门系列(二)-字串参考的一个小问题,希望斑竹或高手解答

2006-4-26 09:22
16476
我在看这篇文章的时候,有几个问题不懂,想请教一下,下面的代码:
00440F2C |. 8B45 FC      MOV EAX,DWORD PTR SS:[EBP-4]       ; 把我们输入的内容送到EAX,我这里是“CCDebuger”
00440F2F |. BA 14104400  MOV EDX,CrackMe3.00441014   ; registered user
00440F34 |. E8 F32BFCFF  CALL CrackMe3.00403B2C       ; 关键,要用F7跟进去
00440F39 |. 75 51        JNZ SHORT CrackMe3.00440F8C    ; 这里跳走就完蛋

...

00403B2F |. 89C6   MOV ESI,EAX  ; 把EAX内我们输入的用户名送到 ESI
00403B31 |. 89D7   MOV EDI,EDX  ; 把EDX内的数据“Registered User”送到EDI
00403B33 |. 39D0   CMP EAX,EDX  ; 用“Registered User”和我们输入的用户名作比较

我觉得00403B2F |. 89C6   MOV ESI,EAX和
      00403B31 |. 89D7   MOV EDI,EDX
的结果是将要相比较的字串的首地址传给了ESI和EDI,特别是EDI是应该敢肯定的了,因为传进去的EDX是通过 00440F2F |. BA 14104400     MOV EDX,CrackMe3.00441014 这句代码得到的值,而00441014 就是“Registered User”的首地址,那么CMP EAX,EDX这句比较的值是两个首地址那时绝对不可能相同的,怎么可能达到比较两个字符串是否相同的结果呢,希望斑竹解释一下

也不知道我的问题说明白了没有,诚惶诚恐!!!
顺便再问一个问题,我自己的OLLyDBG中象如下代码
MOV EDX,CrackMe3.00441014
只能显示为
MOV EDX,  00441014  
是什么原因,怎么设置才能让他将CrackMe3.显示出来,谢谢

[公告]请完善个人简历信息,招聘企业等你来!

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 701
活跃值: 活跃值 (1491)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 活跃值 8 2006-4-26 09:48
2
0
第一个问题你理解是正确的,估计这个CrackMe这地方是故意迷惑人的。
第二个问题,OD选项,反汇编处“显示本地模块名”
雪    币: 235
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
chuxuezhe 活跃值 2006-4-26 10:28
3
0
谢谢,没想到老大这么快就回复了,感动ING
老大你的意思是说这里它只是虚晃一枪?
可是这个软件加壳前是由高级语言的delphi写的,难道高级语言也如此厉害?

我再研究研究,再次谢谢老大
雪    币: 204
活跃值: 活跃值 (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jinghua 活跃值 2006-4-30 23:21
4
0
chuxuezhe真是细心,我比你还chuxuezhe。
我没有细看程序,只是学习调试的方法而已。
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rainlee 活跃值 2006-5-19 10:13
5
0
最初由 chuxuezhe 发布
那么CMP EAX,EDX这句比较的值是两个首地址那时绝对不可能相同的,怎么可能达到比较两个字符串是否相同的结果呢,希望斑竹解释一下

[fly]我也同意你的看法[/fly]
雪    币: 2217
活跃值: 活跃值 (77)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
CCDebuger 活跃值 24 2006-5-19 10:58
6
0
原文章已改过了。是因为开始的时候用了字串参考的插件,导致大小写混乱。
游客
登录 | 注册 方可回帖
返回