最近因为做一些反向工作,所以熟悉了这个IDA Pro软件,其实就是反汇编,把library下的.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里面的文件反编译为原始代码,其实是一个很有趣的过程。