首页
社区
课程
招聘
[旧帖] [求助]急求助"OllyDBG"的使用问题 0.00雪花
发表于: 2007-12-27 23:42 3790

[旧帖] [求助]急求助"OllyDBG"的使用问题 0.00雪花

2007-12-27 23:42
3790
请教各位老师:
   如果用OllyDBG编辑一个软件,干到半截,在下次继续编辑时,怎样打开上次干半截的活(上次设的断点和进度)?
   请指教!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
2
断点可以按ALT+B查看,进度就不知道你指的是什么了。难道是你上次调试的位置?如果是位置的话,除非你曾经CTR+G转到过相应地址,这个OD中有记录,否则可能要设断后慢慢走到你原来的位置。
2007-12-27 23:55
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
CCDebuger版主您好:

   首先非常感谢您的帮助!
我是一个破解初学者,现在正在学习使用“OLLyDBG"这个软件,在网上下载了您写的教程:

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
标 题: 【原创】OllyDBG 入门系列(一)-认识OllyDBG
作 者: CCDebuger
时 间: 2006-02-13,17:23
链 接: http://bbs.pediy.com/showthread.php?t=21284

OllyDBG 入门系列(一)-认识OllyDBG

作者:CCDebuger

一、OllyDBG 的安装与配置

OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:
... ... ... ...(这里省略了)

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的 选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:
http://bbs.pediy.com/upload/2006/4/image/od_dir.gif
因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个 UDD 目录不清楚。我这简单解释一下:这个 UDD 目录的作用是保存你调试的工作。比如你调试一个软件,设置了断点,添加了注释,一次没做完,这时 OllyDBG 就会把你
               -------------------------------------------------------------------
所做的工作保存到这个 UDD 目录,以便你下次调试时可以继续以前的工作。如果不设置这个 UDD 目录,OllyDBG 默认是在其安装目录下保存这些后缀名为 udd 的文件,
---------------------------------------------------------------------------
时间长了就会显的很乱,所以还是建议专门设置一个目录来保存这些文件。  
---------------------------------
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××   

以上带下划线的部分请您仔细地给讲解一下,在我再次打开OllyDBG来继续上次没做完的工作时,我怎样利用这个UDD 文件来接着上次的工作继续进行?麻烦您能一步一步的说明操作步骤吗,谢谢您了!

还有以下是您的第二个教程:
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
OllyDBG 入门系列(二)-字串参考

作者:CCDebuger

上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程:拿到一个软件先别接着马上用 OllyDBG 调试,先运行一下,有帮助文档的最好先看一下帮助,熟悉一下软件
... ... ... ...     (这里省略了)

分别双击上面标出的两个地址,我们会来到对应的位置:

00440F79 |. BA 8C104400     MOV EDX,CrackMe3.0044108C             ; ASCII "Wrong Serial,try again!"
00440F7E |. A1 442C4400     MOV EAX,DWORD PTR DS:[442C44]
... ... ... ...  (这里省略了)

我们在反汇编窗口中向上滚动一下再看看:

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]
... ... ... ...(这里省略了)
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
请问为什么要在这个00440F2C |. 8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]  地址下断点? 望您指教!

还有一处不明白的地方:
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
... ... ... ...(这里省略了)

我们所看到的那些 PUSH EBX、 PUSH ESI 等都是调用子程序保存堆栈时用的指令,不用管它,按 F8 键一步步过来,我们只关心关键部分:

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  
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
我的理解是:EAX,EDX 两个寄存器里的内容是存放用户名的内存地址吧?(不是“Registered User”和“CCDebuger”两个字符串吧?)
               两个地址相比较怎能判断用户名的正确与否呢?我是一个初学者,如果说错了,还请您指教!
2007-12-29 01:37
0
游客
登录 | 注册 方可回帖
返回
//