首页
社区
课程
招聘
[原创]OllyDBG 入门系列(二)-字串参考
发表于: 2006-2-14 13:34 1501126

[原创]OllyDBG 入门系列(二)-字串参考

2006-2-14 13:34
1501126
收藏
免费 10
支持
分享
最新回复 (1465)
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1251
感谢楼主 很有用
2011-7-16 11:37
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1252
aaaaaaaaaaaaaaaaaaaa
2011-7-17 14:11
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1253
学习!!!!!!!!!!!!
2011-7-17 14:12
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1254
十分感谢!入门真有非常有用!!希望能够学会!
2011-7-20 22:03
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1255
很详细,支持一下!
2011-7-21 14:46
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1256
终于找到了,这个小软件
2011-7-22 03:20
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1257
當然要來學學拉 OD 超有用的

2011-7-25 15:30
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1258
现在看.还是给予掌声
2011-7-26 22:27
0
雪    币: 18
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1259
虽然作为新手很难,但是努力看了很多次,一次一次对比后还是成功了
2011-7-29 03:30
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1260
学习了  很好的一篇文章
2011-7-29 12:52
0
雪    币: 48
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
1261
本来想试着你想那个判断函数,结果看到了没见过的函数调用约定,使用了EAX,EDX。C语言里面木有这种函数调用约定,最后想着莫非不是用C写的,用PEID一看,果然不是,原来是Delphi的程序,网上查了下原来是register调用方式,从左到右,优先使用寄存器 (EAX , EDX , ECX) ,然后使用堆栈,是 Delphi 中的默认调用约定。
2011-8-2 21:38
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1262
继续关注楼主的帖子。
2011-8-4 16:24
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1263
謝謝大大的分享,我趕快來學習
2011-8-7 22:23
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1264
好东西,继续。
2011-8-7 22:43
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1265
顶起来
2011-8-12 23:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1266
实在是太精彩了,非常感谢!
2011-8-13 11:40
0
雪    币: 83
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1267
这系列主题很不错,支持
2011-8-13 15:21
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1268
現在RE技術是不是不熱門了?
2011-8-20 23:24
0
雪    币: 83
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1269
不错的,学习了
2011-8-21 00:06
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1270
楼主真好
2011-8-23 09:52
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1271
支持支持支持支持支持
2011-8-24 09:33
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1272
正在学习OD,好帖子,很详细
2011-9-2 14:11
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1273
学习学习~~
2011-9-6 16:40
0
雪    币: 6
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1274
非常棒, 正好可以学习下
2011-9-6 21:35
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1275
00403B2F |. 89C6            MOV ESI,EAX                         ; 把EAX内我们输入的用户名送到 ESI
00403B31 |. 89D7            MOV EDI,EDX                         ; 把EDX内的数据“Registered User”送到EDI
00403B33 |. 39D0            CMP EAX,EDX                         ; 用“Registered User”和我们输入的用户名作比较

这断比较的是两个字符串的存储地址 ,如果地址相同,就表示是一个字符串, 不用下面的比较了,而不是楼主所注释的意思。因为EAX和EDX在存储的是字符串的地址。

00403B50 |. C1EA 02         SHR EDX,2                           ; 用户名长度值右移2位,这里相当于长度除以4
00403B53 |. 74 26           JE SHORT CrackMe3.00403B7B          ; 上面的指令及这条指令就是判断用户名长度最少不能低于4

这里主要将EDX做为计数器使用,因为在下文中
00403B55 |> 8B0E            MOV ECX,DWORD PTR DS:[ESI]         
00403B57 |. 8B1F            MOV EBX,DWORD PTR DS:[EDI]         
00403B59 |. 39D9            CMP ECX,EBX            
ECX与EBX都是4个字节的寄存器,可以一次比较4个字节。所以EDX 除以 4 来计算要比较几次。

本人愚见,求探讨
2011-9-7 22:25
0
游客
登录 | 注册 方可回帖
返回
//