zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [POI2009]SLOElephants
    java回顾之集合概述
    java回顾之初始化
    java回顾之包装类
    java回顾之Set
    action,category
    java回顾之继承 二
    java回顾之TreeSet
    java回顾之final
    java回顾之继承
  • 原文地址:https://www.cnblogs.com/maplewan/p/3244842.html
Copyright © 2011-2022 走看看