好友
阅读权限20
听众
最后登录1970-1-1
|
本文介绍一下IDA 的基础使用功能
文章帮助适合刚刚入门学习逆向分析的同学,大佬可以略过了
ida是一款非常强大的静态分析工具,广泛用于病毒分析,ctf(re pwn),软件破解,二进制漏洞分析,算法分析等
ida可以分析的文件格式也非常多 包括windows下的pe格式文件(.exe .dll .sys)linux 下的elf文件(.elf .so )mac系统的常见文件格式,以及一些不常见到系统的文件格式。
ida的功能强大,对于一般的无壳保护,无混淆代码的程序ida能直接反汇编出位代码(F5快捷键),在一定程度上减少了逆向分析的难度和门槛。
ida图标
上图为ida的图标,在进行逆向分析时选择32-bit IDA分析32位程序,64-bit IDA 分析64位程序。
一般来说,直接选择ok打开,不用更改选项。
ida主界面
对于初学者来说,ida界面看起来比较复杂,框图和选项较多,下面我们来逐个介绍每个框图的功能
选择view下的open subview
ida 子窗口选项
1.hex dump:直接查看程序的二进制内容(以hex值表示)
一般用于直接查找存在程序中的明文字符串和动态调试时的内容查看
hex dump
2.disassembly:查看程序反编译出的汇编代码(以汇编语言显示)
一般用于直接分析相关函数的汇编代码
反编译代码
3.Functions_wiondow:函数表(重要)用于分析每一个单独的函数
在逆向分析中往往都是直接利用Function_windows 查找关键函数开始对整个程序进行分析
该窗口提供ctrl+F 的搜索功能 例如可以直接ctrl+f 定位到main函数
Function窗口
函数搜索
选中函数后双击即可在右侧窗口开始分析
对于一般的函数IDA提供强大的反汇编功能,(快捷键f5,f5大法好啊)直接能阅读到c代码,免除了阅读汇编语言的痛苦。
f5反汇编
4.names:符号表,包括函数名,变量名等。
5.strings(快捷键f12):字符串表 包括程序中存储的字符串常量(在逆向分析中对于定位关键函数有很大帮助)
字符串表
在逆向分析中,往往我们可以利用Ida中的交叉引用功能找到引用了制定字符串的函数,从而实现了关键函数的定位。
比如(在程序的符号表被stripped掉的时候,无法直接搜索main函数) 查看字符串"input:flag"的引用直接定位到main函数
交叉引用
6.import export :导入表和导出表,表中内容为程序需要的外表函数和可以被外部程序调用的函数(涉及到动态链接的相关知识)
导入表
7.段表 :包程序的各个段的信息比如.text(代码段).data(数据段)(涉及到PE结构的相关知识)
段表
以上是一些基础的使用简介,总的来说,要想用好IDA 得有扎实的逆向基础(pe结构,c语言,汇编语言,操作系统等相关知识)
关于ida的使用 还有很多高端的技巧,例如远程动态调试,打补丁,ida-python脚本,修复栈平衡等
逆向时长一年半的菜鸡 ,主要方向是ctf逆向,pwn 也做一些c++ win32开发 和病毒分析
欢迎大家一起交流学习经验,后续还会推出ida使用的技巧,以及OD gdb等工具的使用教程
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|