
ollydbg
文章平均质量分 80
花熊
毕业于西安交通大学
展开
-
0.OD-基础操作
1.按F9运行程序,2.ctrl+G打开跟随表达式窗口,输入的Api大小写敏感,函数名大小写必须正确3.Alt+B打开断点窗口,Always表示断点激活状态,Disable表示断点停用,按空格键可切换状态4.Alt+n打开输入输出表,Alt+C回到主窗口5.Alt+F9回到调用函数的地方.6.API函数基本采用_stdcall调用约定,参数按从右到左入栈,由被调用者清理栈中参数原创 2012-04-06 12:04:09 · 1478 阅读 · 0 评论 -
9.OD-断点、命令
BP表达式 [,条件]在指定地址设置 INT3断点 BP EAX+10BP 410010, EAX==WM_CLOSEBP Kernel32.GetProcAddressBPX 标签在当前模块每一个对外部标签的调用设置断点 BPX CreateFileABC 表达式删除指定地址的断点 BC 410010MR 表达式1 [,表达式2]设置指定范围的内存访问断点原创 2012-07-08 00:01:20 · 3993 阅读 · 0 评论 -
5.OD-条件断点、条件记录断点
以下演示如何下条件断点:在调试过程中,经常希望断点满足一定条件时才中断,这类断点称为条件断点,在OD的帮助文档有详细的说明:(1)按寄存器条件中断:用OD打开Conditional_bp.exe,在0040147c,按shift+F2设置条件断点:输入表达式eax == 040000,这样如果eax为0400000h,OD将中断,用OD帮助文档解释下:040000- 所原创 2012-07-03 15:54:37 · 29340 阅读 · 2 评论 -
3.OD-功能小结
1.在反汇编面板窗口,Hex dump列:设置或取消无条件断点,对应快捷键是F2键2.Comment:增加或编辑注释,对应的快捷键是;键,在反汇编面板窗口按下会出现如下图:3.OD有界面选项(Appearance)和调试选项(Debugging options)等,这些选项配置都保存在ollydbg.ini文件中.4.UDD用来保存当前调试的一些状态,如断点,注释,以便下次调试原创 2012-07-02 16:38:48 · 3350 阅读 · 1 评论 -
4.OD-调试实例续(消息断点)
以下演示如何下消息断点,OD运行TraceMe.exe,单击系统菜单View/Windows(查看/窗口)或单击工具栏的W按钮,如无内容,则执行右键菜单"Actualize"刷新命令现在要对Check按钮下断点,当单击按钮时中断,在Check行上单击鼠标右键,在弹出的右键菜单中,选择"Message breakpoint on ClassProc"当单击事件发生时,会发送原创 2012-07-03 14:38:59 · 4579 阅读 · 0 评论 -
2.OD-C++的虚函数表遍历
结合OD学习下虚函数表,加深印象对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候原创 2012-05-11 19:25:10 · 2629 阅读 · 0 评论 -
6.OD-Run trace /Hit trace
Run trace可以把被调试程序执行过的指令保存下来,了解以前发生的事件,它能把地址、寄存器的内容、消息等记录到Run trace缓冲区中,在运行Run trace前,要把缓冲区设置大些,否则执行的指令太多造成缓冲区溢出:如果要把Run trace的数据保存到文件,在跟踪之前,打开Run trace窗口,鼠标右击执行Log to file即会弹出个文件保存框需要运行Run trace原创 2012-07-03 16:55:51 · 5721 阅读 · 0 评论 -
10.OD-强制在OEP前加载dll
1.首先加个新节:原创 2013-10-15 21:56:16 · 2198 阅读 · 0 评论 -
8.OD--函数参考
OD运行CrackHead.exe,菜单Shit--Try it,点击Check it,发现怎么都没反映首先Ctrl+N切到当前模块的名称(标签)选中API GetWindowTextA:右键,选择在每个参考上设置断点:点击后,OD左下角会出现:点击Check It按钮,断下:把断点都删除,在00401328处加个断点,再运行,可以直接看到算法原创 2012-07-04 16:21:35 · 1645 阅读 · 1 评论 -
4.OD-调试示例1
使用TraceMe.exeOD按F3加载TraceMe,再按F9运行起来,如图所示 设置一个断点:Ctrl+G打开跟随表达式窗口OllyDbg里对API的大小写敏感,输入的函数名大小写必须正确,比如以下两种写法都是不正确的:点击OK后,会跳到系统User32.dll的GetDlgItemTextA函数入口处:按Alt+B快捷键或单击B按钮打开断点窗口,如图所原创 2012-07-02 19:32:32 · 4634 阅读 · 1 评论 -
7.OD-字符串参考
OD加载CrackMe3.exe运行,点击Register now!,会弹出一个对话框:那么"Wrong Serial, try again"可以做为参考字符串,OK,重新运行这个程序:我们在反汇编窗口中右击,弹出一个窗口点击All referenced text strings(所有参考文本字串)之后出现以下界面:在此窗口右击,选择Search for text原创 2012-07-04 15:15:11 · 4986 阅读 · 0 评论 -
1.OD-破解MTS DashBoard
直接上过程吧,F9运行,直接SIMLOCK框出来,spy++看EDIT消息,输入后点击OK抓到消息为GET_TEXTLENGTH和GET_TEXT,PEID看了下,UNICODE,所以猜GetWindowTextW,之类spy++看EIDT的ID:FA2OD看所有存在window:记下句柄0011154cCTRL+G输入GetWindowTextW,跳转到User32.原创 2012-04-26 17:53:43 · 1632 阅读 · 0 评论