首页
社区
课程
招聘
[旧帖] [求助]出错字串处如何判断? 0.00雪花
发表于: 2009-11-20 19:11 1293

[旧帖] [求助]出错字串处如何判断? 0.00雪花

2009-11-20 19:11
1293
问题1:出错字串是什么意思?如何判断?

问题2:在 调试选项->CPU 标签中把“显示跳转路径”及其下面的两个“如跳转未实现则显示灰色路径”、“显示跳转到选定命令的路径”都选上的话,就会看到是从什么地方跳到出错字串处的?有什么标志性信息吗?
不好意思,刚刚有时间学习各位高手请麻烦说的好理解点,谢谢

CCDebuger的【原创】OllyDBG 入门系列(二)-字串参考 http://bbs.pediy.com/showthread.php?s=&threadid=21308

00440F2C |. 8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
00440F2F |. BA 14104400     MOV EDX,CrackMe3.00441014             ; ASCII "Registered User"
00440F34 |. E8 F32BFCFF     CALL CrackMe3.00403B2C                ; 关键,要用F7跟进去
00440F39 |. 75 51           JNZ SHORT CrackMe3.00440F8C           ; 这里跳走就完蛋
00440F3B |. 8D55 FC         LEA EDX,DWORD PTR SS:[EBP-4]
00440F3E |. 8B83 C8020000   MOV EAX,DWORD PTR DS:[EBX+2C8]
00440F44 |. E8 D7FEFDFF     CALL CrackMe3.00420E20
00440F49 |. 8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
00440F4C |. BA 2C104400     MOV EDX,CrackMe3.0044102C             ; ASCII "GFX-754-IER-954"
00440F51 |. E8 D62BFCFF     CALL CrackMe3.00403B2C                ; 关键,要用F7跟进去
00440F56 |. 75 1A           JNZ SHORT CrackMe3.00440F72           ; 这里跳走就完蛋
00440F58 |. 6A 00 PUSH 0
00440F5A |. B9 3C104400     MOV ECX,CrackMe3.0044103C             ; ASCII "CrackMe cracked successfully"
00440F5F |. BA 5C104400     MOV EDX,CrackMe3.0044105C             ; ASCII "Congrats! You cracked this CrackMe!"
00440F64 |. A1 442C4400     MOV EAX,DWORD PTR DS:[442C44]
00440F69 |. 8B00            MOV EAX,DWORD PTR DS:[EAX]
00440F6B |. E8 F8C0FFFF     CALL CrackMe3.0043D068
00440F70 |. EB 32           JMP SHORT CrackMe3.00440FA4
00440F72 |> 6A 00           PUSH 0
00440F74 |. B9 80104400     MOV ECX,CrackMe3.00441080             ; ASCII "Beggar off!"
00440F79 |. BA 8C104400     MOV EDX,CrackMe3.0044108C             ; ASCII "Wrong Serial,try again!"
00440F7E |. A1 442C4400     MOV EAX,DWORD PTR DS:[442C44]
00440F83 |. 8B00            MOV EAX,DWORD PTR DS:[EAX]
00440F85 |. E8 DEC0FFFF     CALL CrackMe3.0043D068
00440F8A |. EB 18           JMP SHORT CrackMe3.00440FA4
00440F8C |> 6A 00           PUSH 0
00440F8E |. B9 80104400     MOV ECX,CrackMe3.00441080             ; ASCII "Beggar off!"
00440F93 |. BA 8C104400     MOV EDX,CrackMe3.0044108C             ; ASCII "Wrong Serial,try again!"
00440F98 |. A1 442C4400     MOV EAX,DWORD PTR DS:[442C44]
00440F9D |. 8B00            MOV EAX,DWORD PTR DS:[EAX]
00440F9F |. E8 C4C0FFFF     CALL CrackMe3.0043D068

大家注意看一下上面的注释,我在上面标了两个关键点。有人可能要问,你怎么知道那两个地方是关键点?其实很简单,我是根据查看是哪条指令跳到“wrong serial,try again”这条字串对应的指令来决定的。如果你在 调试选项->CPU 标签中把“显示跳转路径”及其下面的两个“如跳转未实现则显示灰色路径”、“显示跳转到选定命令的路径”都选上的话,就会看到是从什么地方跳到出错字串处的:

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 259
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
标志性 就是 机器码前面的“>”符号,有这个符号的话,说明程序有某处地方将跳转到这儿

鼠标选中这行,就能看见具体是哪条指令将跳转到这里
2009-11-20 19:32
0
游客
登录 | 注册 方可回帖
返回
//