最近我因为从事一些反向工程工作而熟悉了一款软件叫作IDA Pro。实际上,IDA Pro是一个反汇编器,它可以将位于库文件下的.a
文件重新生成为.c
文件的代码,并试图将其转换为符合C语言规范的代码。
说实话,这种做法有些类似于窃取别人的技术,但幸运的是,这些文件并没有被加密,使得整个过程相对顺利。在这一点上,我们要感谢这款二进制代码分析工具。下面,让我来简单介绍一下它。
强大的反汇编器和多功能调试器
作为一款反汇编程序,IDA Pro能够创建可执行映射,并以符号的形式显示处理器执行的二进制指令(也就是汇编语言)。
IDA Pro可以从机器可执行代码生成汇编语言源代码,并尽可能地提高这些复杂代码的可读性(这里所说的可读性有相对性的概念)。
调试功能通过动态分析增强了IDA,它支持多个调试目标并且可以处理远程应用程序,其跨平台调试功能可实现即时调试、轻松连接到本地和远程进程。
IDA的理念是什么
大脑最重要
IDA 反汇编器提供了尽可能多的交互性,反汇编中的任何内容都可以修改、操作、重新排列或重新定义。
静态拆解受限
仅仅静态反汇编并不能说明全部情况,加密或混淆代码经常出现在当今的恶意代码中;代码和数据之间的确切区别是一门艺术而不是一门科学。
IDA 反汇编器的交互性得到了内部脚本语言、Windows 应用程序/内核调试器、Linux 应用程序调试器、80×86 Mac OS X 应用程序调试器(支持 32 位和 64 位)等等的补充……
技术不断更新
汇编语言向导只看几个操作码就知道程序目的的日子已经一去不复返了,今天的病毒和蠕虫通常是用高级语言编写的,所以IDA 反汇编会尽可能接近原始源代码。
安全是重中之重
除了内部测试、代码审查和安全编码实践之外,软件中的漏洞就会直接报告并尽快发布热修复。
IDA 特点
IDA Pro 已成为分析恶意代码、漏洞研究和商业现成验证的事实上的标准,他有很多的优点
交互的
IDA Pro 允许人类分析师覆盖其决定或提供提示,以便分析师可以无缝快速地使用反汇编器并更直观地分析二进制代码。
可编程的
IDA Pro 是一个完整的集成开发环境,它由一种非常强大的类宏语言(IDC 或 IDAPython)组成,可用于自动化简单到中等复杂的任务。
集成
IDA 在所有标准平台上运行并处理多个处理器。它还可以加载和反汇编几乎任何文件格式,从而提高其分析速度。
开放式插件架构
IDA 的功能可以通过使用可编程插件轻松扩展。
Lumina服务器
Lumina 服务器保存有关大量知名函数的元数据(名称、原型、操作数类型等),并通过用户搜索帮助改进反汇编列表。
F.L.I.R.T
快速库识别和识别技术为许多编译器识别标准函数调用,该技术使 IDA 能够识别由支持的编译器生成的标准库函数,并大大提高了生成的反汇编的可用性和可读性。
怎么获取?
就像下图一样,将build-release里面的文件反编译为原始代码,其实是一个很有趣的过程。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !