OD笔记

1、字串参考:注册失败提示的字串;             


2、函数参考:GetDlgItemText(对话框文本)、GetWindowText(窗口标题文字或文本控件内容),找到后设置条件断点 F9运行至断点处按Alt+F9回到程序领空,上面的语句即为Call函数;


3、内存访问断点、写入断点;


4、消息断点及 RUN 跟踪;


5、得到密码之前的多次循环可能为16进制转换为10进制, 得到密码方法多为由用户名经算法计算后的16进制转换为10进制;


6、nag窗口若有“确定”“取消”按钮,去除时需确定选择两个按钮后寄存器返回值有何不同,然后将调用语句改为寄存器赋值即可;


7、程序反调试功能,查找名称isdebuggerpresent、CheckRemoteDebuggerPresent,改变返回值去除反调试功能;


   CreateToolhelp32Snapshot创建系统正在运行程序名单,每次获取一个,使用loop实现获取全部名单,GetFileAttributesA获取档案属性,若档案不存在返回-1若存在则根据返回值结束程序;


8、SEH处理。程序单独运行时遇到异常会由操作系统将控制权交给预定的SEH来处理异常,OD调试时遇到异常则无法处理导致程序结束,Ctrl+F7、F8、F9可由OD将控制权交给预定SEH来处理异常;


9、SetUnhandledExceptionFilter,设定最终的“SEH”,OD将控制权交给SEH时可能无法 处理某些特殊异常,该种情况便会由最终“SEH”来处理;


10、注册失败无窗口提示且没有用GetWindowTextA等获取字符串,按“register”后暂停  程序,W查看窗口,找到Button并下断点,输入name&serial后鼠标移到“register” 便会断下,取消断点,M查看内存,“.text”代码段下断点,F9断下处即为验证码检验处;

11、repne   scas byte ptr es:[edi],检查输入长度典型结构;


12、Ctrl + ↑/↓一行一行滚动汇编窗口(数据与代码混合时,此功能非常有用)。


13、如果附加不成功,可以巧妙利用OllyDbg的即时调试器功能来调试。先看一个例子,运行A.exe,其会调用B.exe,此时用OllyDbg附加B.exe,OllyDbg会无响应。解决办法:在“Options/Just-in-time debugging”中设置OllyDbg为即时调试器,将B.exe的入口改成CC,即INT 3指令,同时记下原指令。运行A.exe,其调用B.exe,运行到INT 3指令会导致异常,OllyDbg会作为即时调试器启动并加载B.exe,此时再将INT 3指令恢复原指令,继续调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值