免费逆向工程工具Ghidra指南

作者:nana, 星期二, 五月 14, 2019
来源:https://www.aqniu.com/tools-tech/48081.html

IDA Pro 可以不用考虑了,这儿有个免费的替代品可用。

美国国家安全局(NSA),著名工业控制系统(ICS)恶意软件 “震网” 的缔造者,如今推出了开源逆向工程框架Ghidra,用以培养研究恶意软件的逆向工程师。此举扰乱了业界大佬 IDA Pro 长期统治下的逆向工程工具市场,使更多人可以不用支付 IDA Pro 的高昂许可费用就能学习逆向工程方法。

不过,IDA Pro 用户大可不必急于改弦更张,因为将现有工作流和自定义项导入Ghidra的时间及精力成本尚不值得如此,至少在不远的将来是这样的。话虽如此,随着Ghidra生态系统的持续发展,该开源工具很有可能吞噬掉 IDA Pro 的市场份额,并加速市场中其他竞争者的消亡。

今年3月的RSA大会上,Ghidra遵循Apache许可发布,可很方便地根据用户自身需求加以修改。该框架一经发布,安全研究人员便纷纷开始探索其源代码了。不用记录有多少台电脑安装了经许可的副本;Ghidra不限制安装数量,只要有需要,你可以部署在任意台工作站(或服务器)上。

Ghidra虽然只推出了2个月时间,但在此期间收获了大量好评,被认为是 IDA Pro 的良好替代品。想尝试Ghidra的强大功能?下面的指南值得一看。

Ghidra是什么?

Ghidra是美国政府内部开发的一个逆向工程框架。2017年,维基解密的 Vault 7 调查中曝光了Ghidra的存在;2019年,NSA出于公关的需要在NSA大会上发布了其源代码。

无论NSA发布Ghidra的动机如何,其有用性是无可非议的。Ghidra的功能包括逆向编译器、上下文帮助菜单,以及普通用户都能上手的用户界面。没有任何逆向工程经验的用户都可以在一小时之内安装并运行起Ghidra,毫不费力地开始编辑汇编文件和重编译二进制文件。

该框架虽说是跨平台的,可以运行在Windows、Linux和Mac系统上,但截止目前,大多数用户的体验表明 OS X 版有点小问题,建议如果可能的话还是装到Linux或Windows系统上。

Ghidra支持无外设模式( headless mode ),研究人员可以添加任意数量的云实例,大规模进行逆向工程,这一点用 IDA Pro 来实现就技术难度和花费都颇高了。Ghidra也可部署成无外设服务器,供团队协作逆向工程大文件——IDA Pro 无法提供的一项功能。

Ghidra入门指南

作为一门学科,逆向工程的学习曲线十分陡峭,但Ghidra入门却十分容易。逆向工程新手可以在网上找到大量的“破解练手材料”——作为自学新手逆向工程师练习工具的二进制文件。熟练运用你的搜索能力就能搜到很多软件破解教程和攻略。

初级编程经验很有用。C语言知识也有用。需要一点点汇编知识。

对逆向工程初学者而言最有用的一个功能就是Ghidra的反编译器。选中一段汇编语句后,反编译器窗口中会高亮显示反编译出来的代码,可供用户理解高级代码与反汇编代码的对应关系。

如果你想开启逆向工程之旅,Ghidra是门槛非常低的入门之选。

资深逆向工程师可以通过Ghidra自带的练习文件快速学习其处理方式。想让Ghidra按自己的方式行事的,则可以通过编写脚本或自定义设置来调整该开源项目的工作模式,IDA Pro 的专利代码库就没这么友好的编辑修改功能了。

Ghidra vs. IDA Pro

截止目前,资深逆向工程师对Ghidra褒贬不一。尽管Ghidra是NSA在用的成熟软件工程,而且很多情况下都可以替代 IDA Pro,已搭好基础设施和现有工作流的公司却可能会发现重构工具所需的时间精力成本比维持现有 IDA Pro 许可更高。

现有解决方案中的工具、助手和脚本可能不适用于Ghidra。如果逆向工程师自己或所供职的公司仰赖现有解决方案,就没有时间将所有东西都导入到Ghidra中。这是完全可以理解的。

就是这些看起来琐碎的小问题,累积起来就让很多公司放弃使用Ghidra了。这些公司通常还往其现有工具链中倾注了大量工程工作,比如无数的插件、扩展、工作流、过往分析、熟练员工……这些东西Ghidra统统缺乏,需要从零开始积累。

但对某些逆向工程师而言,Ghidra的协作功能是无法抗拒的。比如成员散布全球不同城市的工作团队,必须配备能够高效协作的软件。而IDA肯定不是这类软件。

虽然短期内Ghidra撬不动很多现有公司的工作方式,但它确实降低了逆向工程入门门槛,有助于训练出新一代逆向工程师。中长期看,这款免费开源工具难免吞噬掉 IDA Pro 的市场份额。或许某一天,发现并逆向工程NSA恶意软件的就是一名Ghidra用户。

Ghidra练习文件:

https://ghidra.re/courses/GhidraClass/ExerciseFiles/

相关阅读

NSA开放逆向工程工具Ghidra源代码

NSA将发布软件逆向工程工具包 而且是免费的