![]() |
|
|||||||||||||||
| | 网站首页 | 局域网教程 | 软件说明书 | 局域网论坛 | | ||
|
||
|
|||||
| ollydbg1.08b教学篇 | |||||
作者:互联网 文章来源:www.98pc.com 点击数: 更新时间:2006-4-11 ![]() |
|||||
ollydbg是个功能强大的软件,以前我也不用他(不习惯),而且很多经典教程都是用trw和softice作为示例工具写的. 初学者(注:和我一样的人)往往一开始就接触这些工具,做练习也就用这些工具!可以说已经上手了! 对ollydbg的动态调试功能也就陌生了! 现在一个很现实的问题让我改变了习惯,我的键盘鼠标是usb的,显示器也给我作对!trw和softice都用不成! 无奈只好学用ollydbg.发现这个东西实在太好了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *动态调试的时候还能听歌聊天泡MM(TRW,SOFTICE只能对黑屏) *调试方便,又有函数参考,可以随意加注释,轻松复制,清楚看到堆栈的变化^^^^^^^ *界面优美,可以随意设置背景颜色! *有强大的右键功能,使用起来特别方便!(特别适合老人小孩使用~~~~) *说不出来了~~~其他的优点你自己去发掘吧!!! 我是一只大菜鸟,接触破没多长时间,脑子也不怎么灵光,水平低得可怜,说的不对的地方请高手指正!!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OLLYDBG简介~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 现在就让我这只菜鸟给菜鸟们介绍一下: 1*工作界面:(我们从上往下看) 看到标题栏,菜单栏和工具栏(不用让我做名词解释了吧!) 记住:工具栏的所有功能都能在菜单栏里找到,工具栏是菜单栏的快捷按钮(废话!) 各项详细功能我们在下面说! 再往下看有四个窗口他们是代码窗(左上),寄存器窗口(右上),内存窗口(左下)和堆栈窗口(右下) 2*菜单栏各项命令功能 *文件(F)----这些命令用说吗? |____注意**该菜单的下部有你上次打开的纪录,该纪录保存有你上次未清除的断点**注意** *查看(V)------这个菜单我只介绍一下我常用的,别的我不会!:-) |____执行模块(快捷键ALT+E):查看该程序使用的动态连接库(我的理解) | |____断点(快捷键ALT+B):这个是查看你所有的断点,(有时自己设到哪里都忘了,可以看一下)起到一个辅助功能. 我就会这么多!:-( *调试(D)-------这个菜单是关键,不明白你就别调试软件了!也只说常用的! |_______运行(F9)加载程序后,运行! | |_______暂停(F12) | |_______单步进入(F7)遇见CALL就进!进入该子程!行话:"跟进去" | |______单步跳过(F8)遇见CALL不进去!不去管子程的内部!第一次粗跟的时候常用! | |______执行到返回(ALT+F9)就是执行到该子程的返回语句! 剩下的菜单不重要~我也不费口舌了~~~我是"天下第一懒"(乾隆皇帝赐给我的名号) 知道这么多就能开工了~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~实例分析~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 目标:FlashPT 2.1 Build 3067 破解人:winroot 工具:PEiD,W32DASM,ASPACKDIE,OLLYDBG 目的:一篇ollydbg的教程,软件相对简单! 下载地址:http://www.softreg.com.cn/shareware_view.asp?id=/4C7E305E-226A-43B9-98D2-BE0410D46806/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~破解过程~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 破解过程: 该软件安装后有3各组件随便注册哪一个都一样. 我选择Flash转换解密 1*PEiD查壳,ASPack 2.12 -> Alexey Solodovnikov 2*使用ASPACKDIE脱壳.脱壳后文件名为unpacked.exe 3*使用W32DASM反编译进行静态分析! 加载unpacked.exe-->反编译-->点菜单栏的"参考"选择字符串数据参考 找到"注册码错误,请重新输入!"双击我们来到 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004D1174(C) | ~~~~~~~~~~~~~~~~~~~~是从这里跳过来的,我们就到这里看看 :004D120D 6A00 push 00000000 * Possible StringData Ref from Code Obj ->"提示" | :004D120F B974124D00 mov ecx, 004D1274 * Possible StringData Ref from Code Obj ->"注册码错误,请重新输入!" #######################我们来到了004D1174############################# :004D116B 8B55E4 mov edx, dword ptr [ebp-1C] :004D116E 58 pop eax :004D116F E8C42CF3FF call 00403E38 :004D1174 0F8593000000 jne 004D120D 看到了吧!就是从这里我们走向了死亡! ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ :004D117A B201 mov dl, 01 :004D117C A1DCCA4400 mov eax, dword ptr [0044CADC] :004D1181 E856BAF7FF call 0044CBDC :004D1186 8BD8 mov ebx, eax :004D1188 BA02000080 mov edx, 80000002 :004D118D 8BC3 mov eax, ebx :004D118F E8E8BAF7FF call 0044CC7C :004D1194 B101 mov cl, 01 * Possible StringData Ref from Code Obj ->"software\microsoft\windows\currentversion\chan" ->"gid" | :004D1196 BA98124D00 mov edx, 004D1298 :004D119B 8BC3 mov eax, ebx :004D119D E83EBBF7FF call 0044CCE0 :004D11A2 84C0 test al, al :004D11A4 745E je 004D1204 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~省略部分代码 * Possible StringData Ref from Code Obj ->"提示" | :004D11E2 B974124D00 mov ecx, 004D1274 * Possible StringData Ref from Code Obj ->"注册成功!谢谢您使用本软件! 程序需要重新启动" ~~~~~~~~~~~~~~~~~~~~~~~~~~*****爆破******~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 爆破就是爆着破:-) 看一下我们的分析: :004D1174 0F8593000000 jne 004D120D 看到了吧!就是从这里我们走向了死亡! 那我们就不走这里了!他jne我们就改成je *开工!!!!!!!!!!! *首先,运行ollydbg加载脱壳后的unpacked.exe找到地址004D1174 004D1174 0F85 93000000 JNZ UNPACKED.004D120D 咦!!!!!!!怎么变成jnz了?(我也不知道为什么)但他与爆破无关!我们把他改成jz就能起到一样的效果 1)我们双击这里: JNZ UNPACKED.004D120D是改变它的汇编代码___________________注{ 2)我们把他改成JZ 004D120D 点汇编后,他就变红了 再点取消! { 3)然后右键单击JZ 004D120D选择"复制到可执行文件" {双击地址栏是绝对地址和相对地址的转换 4)这时弹出一个窗口最上面就是000D1174 0F84 93000000 JE 000D120D |
|||||
| 文章录入:wuwq 责任编辑:wuwq | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | | |||||
|