首页
社区
课程
招聘
[旧帖] [求助]esi 求长度问题 0.00雪花
发表于: 2008-12-3 11:49 2809

[旧帖] [求助]esi 求长度问题 0.00雪花

2008-12-3 11:49
2809
OllyDBG 入门系列(二)-字串参考
中的例子

函数中输入用户名和内置的进行比较

MOV EAX,DWORD PTR DS:[ESI-4]   //这里为什么esi-4是输入的长度,已知esi中是输入的用户名,为什么是 减4 ?

00403B2C /$ 53              PUSH EBX
00403B2D |. 56              PUSH ESI
00403B2E |. 57              PUSH EDI
00403B2F |. 89C6            MOV ESI,EAX                         ; 把EAX内我们输入的用户名送到 ESI
00403B31 |. 89D7            MOV EDI,EDX                         ; 把EDX内的数据“Registered User”送到EDI
00403B33 |. 39D0            CMP EAX,EDX                         ; 用“Registered User”和我们输入的用户名作比较
00403B35 |. 0F84 8F000000   JE CrackMe3.00403BCA                ; 相同则跳
00403B3B |. 85F6            TEST ESI,ESI                        ; 看看ESI中是否有数据,主要是看看我们有没有输入用户名
00403B3D |. 74 68           JE SHORT CrackMe3.00403BA7          ; 用户名为空则跳
00403B3F |. 85FF            TEST EDI,EDI
00403B41 |. 74 6B           JE SHORT CrackMe3.00403BAE
00403B43 |. 8B46 FC         MOV EAX,DWORD PTR DS:[ESI-4]        ; 用户名长度送EAX
00403B46 |. 8B57 FC         MOV EDX,DWORD PTR DS:[EDI-4]        ; “Registered User”字串的长度送EDX
00403B49 |. 29D0            SUB EAX,EDX                         ; 把用户名长度和“Registered User”字串长度相减
00403B4B |. 77 02           JA SHORT CrackMe3.00403B4F

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Delphi程序就这个样子,前面是字符串长度,后面是字符串内容。Google一下“Delphi 字符串”,解释一堆一堆的,我随便引用一个好了。

http://blog.csdn.net/lvtao2073/archive/2006/04/10/657920.aspx
2008-12-3 12:28
0
游客
登录 | 注册 方可回帖
返回
//