首 页文章中心黑客软件黑客动画绿色软件私服技术私服下载本站论坛
您当前的位置:黑客之家文章中心脱壳破解基础知识 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
站内广告
软件算法和 OllyDB的用法(新的调试软件)
作者:佚名  来源:不详  发布时间:2008-1-10 16:28:47

减小字体 增大字体

原著:Hoof Arted 

译者:TAE![CCG] 

唉,这篇翻译的实在是太烂了,大家就看看如何使用新的调试工具 OllyDB 吧。 

新手教程 by Hoof Arted (Hoof’s Workshop) 


教程 - ;破解并且做 DLLShow by Software By Design 的注册机(奇怪,这篇好像没有注册机) 


目标 : DLLShow V4.6 - http://www.gregorybraun.com/ 

工具 : OllyDBG.exe - http://www.suddendischarge.com 


这是我的第一片教程,我希望有时间写更多的,我是一个破解新手,搞破解已经花了我 
太多的时间了,但我仍然有很长的路要走,我尽力使这篇文章通俗易懂,我认为只有在 
你熟悉目标软件的情况下,你才可以破解它,我将开始描述调我们这课需要的试产品。 

我不是一个好的 SoftIce 迷,光是熟悉指令和安装就花了我许多时间,我也很喜欢使用 
W32dasm 但我尽管使用它在许多场合有很多限制。我升级到Windows2000后,竟然运行不 
了32dasm 了,我想找一个和它相同的调试/反编译软件,如果要比 w32dasm 更强大的, 
那我就已经找到了,它就是 Ollydbg,做这是:Oleh Yuschuk,这是给像我一样已经等了 
很久的人的一个工具,会使用 w32dasm 的你,你也将会掌握它的。 

一个伟大的工作即将开始。 

干掉它,跟我来吧,做我所作的,并且我尽我所能的解释给你听。 

我选择这个目标的原因是它没有一个好用的卸载程序,许多程序员小贩都不把他们的软件 
做的很友好:( 

让我们开始吧! 

到我上面写的那个网站下载一个目标程序。解压缩并且安装它,运行 DLLShow 并且选择 
注册选项。你将看见软件需要输入名字,公司和注册码,我们现在已经可以大致确定这是 
一个根据姓名和公司名来生成注册码的软件,这也是破解过程中的一个进展。我们要找出 
密码,并且看它使如何产生的。 

好的,现在我们要输入注册码但我们根本没有正确的注册码,打开 Ollydbg 并且用它打开 
软件(DLLShow.exe)。默认的,你将看见4段不同用处的调试窗口,左上角的用于显示反编 
代码,右上角的用于显示寄存器数据这是非常有用的,不像softice,你想查看寄存器中 
有疑问的地址,那么这个调试器显示地址的内容,如果程序使ascii码值(姓名或注册码:), 
都将显示它并且你不需要转换。(这段翻译的有些难懂,我也很难理解原文) 

左下角,显示当前所载入的软件数据在内存中的位置,这对找出数据很有帮助,你将待会儿 
将看见我是如何利用它的,右下角显示被各种函数所使用的内存,我也是初学者,也不知道 
这个窗口的所有用处,但是现在,我们并不需要知道。 

那好,用调试器载入程序,我们需要运行它。选择"Deebug" 并且点击"Run"或按 F9。软件 
将像平时一样运行。去注册窗口并且输入名字,公司和注册码我输入的是: 

NAME : Hoof Arted 
COMPANY : Hoof’s Workshop 
SERIAL : 77777777 

你现在可以是用任何数字作注册码,我喜欢7,而且保持在8个字符,这将是我干得快些,(他 
们说7是幸运数字!) 

我们知道如果我们点击 “OK”按钮,软件将会弹出一个“愚蠢破解者”的窗口,我们需要知道在 
哪里设置断点,我喜欢首先试着用 GetDlgItemTextA ,在 Ollydbg 中设置断点有一些不同, 
因为查找函数不像你希望的那样工作,右击左上角的窗口,并且选择 “Search for NAME (LABEL)” 
这将出现一个带有许多软件所使用的函数的小窗口,向下拉动滑动条到了USER32.GetDlgItemTextA 
并且使它处于高亮状态,右击它选择"Find references to import",;另一个窗口打开了,显示 
软件调用函数的地址,通过按F2在每一个上面都设置一个断点,然后他的左边就会变成红色, 
如果有任何地方呼叫这里都会被调试器所暂停。 

好的,现在单击目标软件的“OK”按钮。调试器将停在地址 4159FB 这里,我们不关心函数 
GetDlgItem function 是如何运行的,所以我们点击地址 4159FB 并且按 F2 来清除断点,然后, 
选择下一行再按 F2 来恢复断点。按 F9 来运行软件以通过这个地方,它再次被停下来了,我们 
可以看见 ESI 寄存器(右上角) 现在有一个Ascii码"Hoof Arted",真不错!它现在得到我们的 
名字了,如果我们再次按 F9,目标软件将再次停在相同的断点,但是这次,ESI 已经是我们的 
公司名了,是一个 ASCII。按 F9 第三次 Esi 将显示我们输入的注册码。好,现在我们知道程序 
已经得到我们所有的信息了。它将要用这些信息作什么呢? 

因为它已经得到了我们输入的所有信息了,我们需要从这儿将它带到软件中,我们不能再按F9运行, 
因为要找到我们想要得到的东西,所以我们按 F7 来一步步的运行,直到你到了以下代码处 : 

0040D717  |. 8D4C24 40      LEA    ECX,DWORD PTR SS:[ESP+40]      <<<<<<<< 
0040D71B  |. 51            PUSH    ECX 
0040D71C  |. E8 25990000    CALL    DLLShow.00417046    <<<<<<< Call (a) 
0040D721  |. 56          &n

[1] [2] [3] [4] [5]  下一页

[] [返回上一页] [打 印]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 文章投稿 - 软件发布 - 购物资讯网 - _