教程主题:0Day安全技能之完全学习1.3——必备工具介绍
需要用到的工具:OllyDbg(OllyICE) WinDbg IDA Pro UltraEdit
内容:
【1】OllyDbg:一个集成了反汇编分析、十六进制编辑、动态调试等多种功能于一身的强大调试器。与SoftICE相比,OllyDbg虽然无法调试内核,但其人性化的GUI界面省去了初学者往往望而却步的调试命令,我们需要的只是掌握其五六个快捷键的使用即可!
<见(OD快捷键.png),记住OllyDbg的基本功能快捷键!>
【2】WinDbg:软件风格介于Ollydbg和SoftICE之间,是一款比较“温和”的调试器,它可以调试内核,但却不像SoftICE那么“暴力”,总是中断操作系统;它保留了一部分Visual Studio中常用的快捷按钮,也保留了SoftICE一样丰富的调试命令。从功能上讲,它可以设置异常复杂的断点条件逻辑,在这一点上丝毫不比SoftICE和OllyDbg逊色。
【3】IDA Pro:当前最强大的反汇编软件之一。虽然目前的IDA版本也可以做一些简单的动态调试工作,但大多数情况下我们主要使用它的静态反汇编功能。
很多工具都能把二进制的机器代码翻译成汇编指令,但为什么提起反汇编工具,IDA永远都是首屈一指的强者呢?这是因为IDA拥有强大的标注功能。
即使是对汇编语言非常精通的程序员,也无法直接阅读成千上万行汇编指令。我们需要把庞大的汇编指令序列分割成不同层次的单元、模块、函数,对其逐个研究,最终摸清楚整个二进制文件的功能。
所谓逆向的过程,在很大程度上就是对这些代码单元的标注。每当我们弄清楚一个函数的功能时,我们就会对这个函数起一个名字。使用IDA对函数进行标注和注解可以做到全文交叉引用,也就是说,标注一个常用函数后,整个程序对这个函数的调用都会被替换成我们所标注的名字,这可比直接对内存地址的调用形式好理解多了(通常情况下,反汇编得到的函数调用往往都是对内存地址的调用)。
【4】UltraEdit:漏洞调试总是需要和二进制打交道。一款方便易用的十六进制编辑软件可以让我们打开任意的二进制文件,方便地跳转到某处偏移,查看或修改那里的机器代码。二进制编辑器只是Ultra Edit的一项功能,正如它的名字,这是一个超级编辑器,它还可以作为几乎所有常见编程语言的编辑器。例如,在打开扩展名为C的文件时,它将提供C语言中的关键字、语法标注、函数识别等功能。 |