首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > OllyDbg实用技巧六则
【标  题】:OllyDbg实用技巧六则
【关键字】:技巧,OllyDbg
【来  源】:网络

OllyDbg实用技巧六则

OllyDbg实用技巧六则
dOSKEY lEE
关键词: OllyDbg、OD、技巧

1、让跳转路径显示出来
打开Options\Debugging Option。弹出Debugging Option对话框,选择CPU页,选定
“Show direction to jumps”、“Show jump path”和“Show grayed path if jump is
not taken”。如此以来在Disassembler窗口就会显示跳转的路径了。

2、让OD显示MFC42.DLL中的函数
如果程序是用MFC进行的动态编译,那么在OD中将只能显示MFC42.DLL中的函数为:
00410E40 |. E8 43000000 CALL <JMP.&MFC42.#1576>1576是函数在MFC42.DLL中的序号。打开Debug\Select import libraries,单击弹出的对话框中“Add”,在弹出的打开文件对话框中选择“MFC42.LIB”并打开,重新载入MFC程序,
你就可以看见函数名称变为:
00410E40 |. E8 43000000 CALL <JMP.&MFC42.#1576_?AfxWinMain@@Y>
IDA中分析出了来的东西一样了!呵呵,以后不用等待IDA的“细嚼慢咽”也可以轻松搞定MFC程序了。其他的DLL类似,如果有序号,可以在VC的LIB目录中找到相关的.LIB文件,加到OD中便可。如果你没有“MFC42.DLL”,你可以的到新论坛的下载区找,我已经上传到那里了。

3、让OD轻松躲过“ANTI-DEBUG”
很多“ANTI-DEBUG”的程序都是在程序开始时来检查是否安装调试器的。用这种特性我们可以轻松的用OD的“Attach”绕过检查部分。如“X语言”,如果你哟内TRW2K/S-ICE/OD直接加载它的话,程序回警告你安装了调试器并结束。但是我们在“X语言”开启后再运行OD,并用“Attach”系上它就就可以了,轻松通过检查。而且在OD系上它后仍然可以用
CTRL+A进行分析。如此一来,快哉!:)

4、轻松对付调用“MessageBoxA”以及类似的模态对话框的程序
很多人都认为OD不好拦截“MessageBoxA”这类API函数。其实我们有个很简单的办法将API拦截下来,并且快速找到比较地点/主算法地点。首先用OD加载目标程序,如果不能加载,用上面的方法“Attach”目标程序。然后,F9运行目标程序,并且有意让目标程序显示“
MessageBox”,然后切换到OD中,F12暂停,如
0041201F |> 53 PUSH EBX ; /Style
00412020 |. 57 PUSH EDI ; |Title
00412021 |. FF75 08 PUSH [ARG.1] ; |Text
00412024 |. FF75 F4 PUSH [LOCAL.3] ; |hOwner
00412027 |. FF15 A8534100 CALL DWORD PTR DS:[4153A8] ; \MessageBoxA
0041202D |. 85F6 TEST ESI, ESI ; 停在此处
0041202F |. 8BF8 MOV EDI, EAX
00412031 |. 74 05 JE SHORT 1551-CRA.00412038
F8单步一下,切换到“MessageBox”中,确认,被OD中断。我们可以看见上面的代码41201F处有一个“〉”,说明可以从某段代码跳转到此处,我们选择41201F这一行,在“Information”栏看见一句“JUMP FROM 412003”,右键单击,选择“GO TO JUMP FROM412003”。回到412003,一般都是条件跳转,上面的内容就是比较的地方啦。:)

5、使用OD的TRACK功能
OD拥有强大的TRACK功能,在分析算法时十分有用。首先我们要设定OD的TRACK缓冲区大小,选择Option\Debugging Option,在弹出的对话框中选择TRACK页,
“Size of run track buffer(byte/record)”,缓冲区大小,当然约大约好。其他的设置在我以前的OLLYDBG.INI中都已经设置好了。然后,开启目标程序,在DEBUG中选择“Openor clear run track”。然后我们就可以用CTRL+F11或CTRL+F12开启“Track into”和“Track over”了。当我们暂停程序的时候,可以用小键盘上的“+”,“-”,“*”来控制TRACK功能了。
“Track into”和运行类似,但是记录所有指令以及寄存器变化。并且会自动进入所有的
CALL中。
“Track over”和“Track into”类似,但是不进入CALL
“+”用来显示TRACK缓冲区中的下一条指令
“-”用来显示TRACK缓冲区中的上一条指令
“*”用来发返回当前指令

6、不是技巧的技巧
当你遇到花指令的时候一定会很头痛。但是如果你用OD进行分析的时候就会轻松得多。OD会自动标识出无效指令,即花指令。如果OD没有正确识别,你还可以用CTRL+↑/↓来单个字节的移动。可以很有效的识别出花指令的所在。

后记
本人脑袋不太好使,一时记不起所有内容,以后想起来再贴。转贴时请保持本文的完整。
加密算法之RSA算法:【上一篇】
菜鸟的ollydbg1.08b教学篇:【下一篇】
【相关文章】
  • 软件保护技术-常见保护技巧
  • Visual Basic程序-SmartCheck操作技巧
  • ollydbg的教学-Run trace
  • OllyDbg的help-怎样开始调试
  • OllyDbg的help-通用快捷键(翻译)
  • OllyDbg的help-分析模块介绍(翻译)
  • 对于用ollydbg的一点补充
  • 用ollydbg快速破解UniView
  • OllyDbg 的快捷命令栏插件快捷命令
  • 用动态工具OllyDBg破解教程
  • 【随机文章】
  • J2me流媒体技术实现讨论[1]
  • 开始学习java了!
  • 周四将去济南培训IP电话
  • 阅读Apache2.0参考手册
  • CISCO3640配QOS--承诺访问速度(CAR)
  • 几种换肤软件使用问题
  • Sun,你是做秀,还是正视了潜在的市场...
  • IIS 6安全保护贴—URL授权全攻略
  • 安全防火墙脚本
  • 汪辟疆:《读书举要》
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.