OllyDebug调试技巧(三)
Chinese:
1、GetModuleHandleA这个api用于获取程序的ImageBase(基地址),可以从PEInfo获取。
2、MessageBox有一个参数是OwnerHandle(父窗口句柄),如果为0则表示桌面的句柄,我们可以通过将这个值改为一个不存在的句柄,例如1,这样这个MessageBox就不会显示出来了。
3、可以通过查找PE结构里面的程序入口,然后只要修改这个程序入口的地址,那么就可以跳过一些不必要的指令了。
4、如果想让一些指令不执行,可以通过jmp直接跳到后面的地址,也可以将这些指令用nop填充,但是要注意不能损坏正常的程序运行逻辑。
5、有些文件篡改了PE头的信息,虽然程序可以正常运行,但是却使得程序无法被OllyDebug反调试,这个时候需要去查看PE文件头的信息,找到被篡改的值将其修复。
6、SEH(Structured Exception Handling),结构化异常处理。SEH是Windows操作系统提供的功能,和开发工具无关。
7、异常也可以当作是一种消息,应用程序发生异常时就触发了该消息并告知系统,接收后同样会找它的回调函数,也就是我们的异常处理例程。
8、如果程序中没有做异常处理,系统也不会置之不理,它将弹出常见的错误框,然后结束该程序。
9、在OD中,也可以SHIFT+F9来忽略异常,也可在设置里面设置忽略的异常Code。
10、在OD中先暂停,使用ALT+F9会自动返回到用户程序的领空。
11、Ctrl+N可以查看输入表,可以通过右键下api断点。
12、右键->查找->所有参考文本字符串 可以查询字符串,记得从头开始查询,然后双击查询到的字符串即可跳到对应的地址。
13、右键->查找参考->选定命令 可以跟踪这条指令。
14、右键->查找->所有模块中的调用 可以用来查询api
转载于:https://www.cnblogs.com/maplewan/p/3244842.html
OllyDebug调试技巧(三)相关推荐
- android studio 扰码,Visual Studio 调试技巧 (三) -- 调试第三方组件代码
上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...
- 你可能不知道的 IDEA 高级调试技巧
作者:十光年 www.cnblogs.com/jun1019/p/9741224.html 一.条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值. 参考上图, ...
- Flutter调试技巧总结——高效开发的秘密
刚开始学前端的时候看到大家都是用的console.log()作为调试的手段,也可以说,很多人只会用console.log().在学习Flutter开发app的时候,我就在思考,除了使用print()来 ...
- 你所不知道的 Android Studio 调试技巧
Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug,进而解决,可是我们的看家本领.正所谓,工欲善其事必先利其器,和其他开发工具一样, ...
- Postman 调试技巧
Postman 调试技巧 最为一个最基础的猿,我相信你已经掌握的一般接口使用Postman请求了. 如果你还在为下面问题发愁,你可以读下去. 1.后台验证通过请求header中的动态token. 2. ...
- 反调试技巧总结-原理和实现(1)(2)(3)(4)(5)(6)......
反调试技巧总结-原理和实现 -------------------------------------------------------------------------------------- ...
- 《Debug Hacks》和调试技巧
Debug Hacks 作者为吉冈弘隆.大和一洋.大岩尚宏.安部东洋.吉田俊辅,有中文版<Debug Hacks中文版-深入调试的技术和工具>.这本书涉及了很多调试技巧,对调试器使用.内核 ...
- 你所不知道的Android Studio调试技巧
原文链接:简书@涅槃1992 http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为 ...
- 运用spss modeler运用支持向量机_玻璃精雕机的调试技巧
玻璃精雕机是一种运用数字控制的机床设备,与旧式的手艺机床比较,数控机床运用电脑绘图并编程,机床在加工时通过执行程序完结自动加工.玻璃精雕机通常是三轴规划,机床在运转时,读取程序数据并转化成电信号,由这 ...
最新文章
- JavaWeb基础—JSP
- 《JavaScript设计与开发新思维》——1.7 JavaScript编程目标
- 杭州电子科技大学-杭电信标一队
- 代码设置按钮样式的方法
- 8086汇编-实验4-[bx]和loop的使用
- 来,和腾讯一起共建未来城市
- C++中public protected private的区别
- 【Git】Git-常用命令备忘录(一)
- 常用的Homebrew的命令的使用
- Java知多少(81)框架窗口基础
- 【总结】大规模数据测试,数据准备时需要注意的问题(【保护已有数据】【大规模数据影响普通测试】【不要着急删除数据】)
- mysql java dbutil_Java -- DBUtils 框架 操作MySQL数据库
- C语言中的main函数为什么被称作程序入口
- 如何使用Movavi Slideshow Maker创建幻灯片
- java http 工具类_Java发送Http请求工具类
- spark MetaException(message:Version information not found in metastore. )
- React Native重构路线图发布!
- ERD-ONLINE 2.0.3 免费在线数据库建模工具 正式发布
- MFC工具条与状态条设计
- 微信小程序开发VIP商城项目