0
点赞
收藏
分享

微信扫一扫

逆向分析工具——IDA初学笔记

Sikj_6590 2022-01-22 阅读 138
p2plinqgnu

 

在这里插入图片描述

一、认识窗口
1.IDA View
    IDA打开一个Win32的EXE后,会出现一系列窗口,默认定位到“IDA View”窗口中的入口函数处,即VC程序的WinMain。

 该窗口可通过View-Open subviews-Disassembly调出

该窗口有2种模式,一种是Text View,另一种是Graph View,2种大同小异, 关于两种浏览模式的转换,可在右键菜单中切换:

  ·Text View切换到Graph View:(注意:在 Text View中有时右键菜单不是这样的,这时换个有代码的位置点右键就可以了)

以graph view介绍(顶部图片),(1)左窗口为函数列表,一个文件被反编译后所有的函数列表都可以在此窗格中显示;(2)右窗口为汇编代码区,双击每个函数,可以看到对应函数对应的汇编代码段;(3)下窗口为输出窗口,文件反汇编过程中的信息都可以在此窗口中看到。

注:1)空格可以切换汇编代码为流程图浏览模式
(2)在流程图模式下,绿线代表判定条件成立,红线代表判定条件不成立

以比较通用的text view为例来介绍(底图), 主要是三个区域:地址区、OpCode区(操作码区)、反编译代码区

 A.地址区

             该处地址以PE文件加载到内存后的虚拟地址为准,即镜像基址+偏移地址

B.OpCode区

          该区域默认不会显示出来,需要打开菜单Options-General,

在“Disassembly”页中的“Display Disassembly  line parts”中,设置”Number of opcode bytes“,例子中设置 8,默认为0则不显示。

 OpCode区字面上看是操作码区的意思,当然这是一个以16进制字符显示二进制数据的形式,这样结合反编译代码会更具直观性,

但也使界面复杂化,仁者见仁。

 C.反编译代码区

          该区域是IDA的主要功能区域,具有很多特性,如相同字符串高亮、双击函数名或引用变量名可调整到对应的跳转地址等
·快捷键:字符串搜索:             搜    索:Alt+T          下一个:Ctrl+T
反编译为C代码:      在反汇编代码中按F5即可。
2个实用的浏览快捷键    前进:Ctrl+Enter
后退:Esc
当然也可以使用工具栏的按钮。
*在IDA View中按F5可以生产C代码查看,  也可以将整个保存为C文件进行查看。
在Hex View中按F2可直接编辑16进制数据。

2.Hex View(与一般的16进制编辑器类似)

默认为只读状态,可使用快捷键F2对数据区域(绿色字符区域)在只读/编辑二种状态间切换,

3.其他窗体

Stuuctures:可以查看程序的结构体、Enums:可以查看枚举信息、Imports:可以查看到输入函数,导入表即程序中调用到的外面的函数、export:可以查看到输出函数   

IDA的窗体均可在主菜单View-Open subviews中打开/关闭,其他如pseudocode为反编译C代码窗体、strings为程序字符串列表窗口,均为十分有用的辅助窗口,

(IDA显示字节机器码
菜单

Options >> General

二.菜单

File 是用来打开,新建,装载一个应用程序的

Edit 是用来编辑反汇编代码的,可以复制,筛选什么的

View 是用来选择显示方式的,或者显示某一特定模块信息的。比如以树形逻辑图显示,或者16进制形式显示。还可以单独显示某一特定信息,比如输入或者输出表等。

Debugger ,调试器被集成在IDA中,首先我们使用IDA装入文件,来生成数据库,用户可以使用反汇编功能,查看所有反汇编信息,这些均可以在调试器中进行和使用。

Options ,在这里可以进行一下常规性的设置。

Help,使用IDA的一些帮助文档,检查更新等等。

常用

1)常量字符串窗口:string窗口,通过此窗口可以看到程序中所有的常量字符串列表。
2)字符串查找窗口:search窗口,可以通过此窗口查找某个指定的字符串。
3)地址跳转:jump to address使用该窗口可以跳转到指定地址的汇编代码段。
地址为语句前的.text:xxxxxxxxxxxxxxxx
4)Debugger options:在该窗口中设置调试程序的一些选项,包括调试时进行的一些操作设置、日志记录设置等等:

5)Switch debugger通过此窗口可以设置调用的调试器

设置好调用的调试器后需要设置远程调试器的信息:

6)脚本执行窗口:script file

7)汇编代码注释编写:
鼠标点击某一行汇编代码,然后输入分号“;”,就可以打开输入编辑注释的窗口。

8)Xrefs graph to和Xrefs graph from

通过Xrefs graph to可以看到该函数被其他函数调用的信息:

通过Xrefs graph from可以看到该函数调用的其他函数:

举报

相关推荐

0 条评论