逆向入门

一、了解REVERSE

      REVERSE是CTF竞赛中的一种常见题目类型,主要考察参赛选手逆向工程相关的知识,考查形式为通过对一个二进制程序(exe、dll或者是elf等)进行逆向分析,了解程序内部的实现机制,最终目的可能是得到一个密码,或者是编写一个注册机用于计算指定用户名对应的注册码等。

 

二、PEiD

      PEiD是一款著名的查壳工具,其功能十分强大,几乎可以侦测出绝大部分的壳以及程序编译信息。PEiD支持各种外部插件,同时支持用户自定义的加壳程序签名信息。

 

三、Ollydbg

      Ollydbg简称OD,是一款具有图形用户界面的用户模式调试器,可以运行于各种主流Windows操作系统下。Ollydbg具有动态调试和静态分析功能,非常容易上手,对异常的跟踪处理相当灵活,并且许多爱好者为这款调试器编写了许多非常棒的插件,这些特性使得其成为Windows操作系统上用户模式下动态调试器的首选。Ollydbg的反汇编引擎十分强大,可以识别数千个被C和Windows频繁使用的函数,并可以自动对参数进行注释。

      虽然OD的GUI界面上拥有丰富的操作按钮,但通常我们使用键盘快捷键来加快我们的调试过程,常用的快捷键有:

      F2    设置一个断点(如果断点已经存在,那么断点将被删除)

      F4    运行到光标所在行(运行到光标所在行时自动断下)

      F7    单步跟踪(如果遇到一个call,则跟踪进入)

      F8    单步跟踪(如果遇到一个call,则执行完整个call)

      F9    继续执行(运行程序,直到进程退出或遇到下一个断点)

 

四、IDA

      IDA是一款交互式反汇编工具,其功能十分强大,支持多操作系统、多处理器下的二进制程序的反汇编分析,并且可以和使用者进行交互来提升处理效率。IDA支持插件,支持IDC脚本,Hex-Rays Decompiler是IDA一个十分强大的插件,支持将反汇编代码直接转换为C语言伪代码,极大的提高了反汇编分析人员的工作效率。由于IDA拥有强大的功能以及繁多的特性,要完全掌握IDA的使用也是一件不容易的事情,但是这并不影响IDA的可用性。

      IDA常用快捷键(具体含义会在后面的操作中讲到):

      空格    在图形模式和列表视图模式之间切换反汇编视图

      F5      将反汇编指令还原为伪代码

      x       查看交叉引用

      n       对变量名或者函数名进行重命名操作

      d       将二进制数据解释为字节/双字/四字

      c       将二进制数据解释为代码

      a       将二进制数据解释为字符串

你可能感兴趣的:(逆向入门)