GitHub上最火的软件逆向工程 (SRE) 框架 |美国国家安全局开源

gitpp.com GitHubTop网站 2024年01月02日 06:08

Ghidra 是一个软件逆向工程 (SRE) 框架

github地址

https://github.com/NationalSecurityAgency/ghidra

国内镜像

http://www.gitpp.com/ag/ghidra

软件逆向工程,有了这东西,什么软件都能copy过来!!!

Ghidra 是一个由美帝国家安全局研究局创建和维护的软件逆向工程 (SRE) 框架 。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括 Windows、macOS 和 Linux 在内的各种平台上分析编译的代码。功能包括反汇编、汇编、反编译、绘图和脚本编写,以及数百种其他功能。Ghidra 支持多种处理器指令集和可执行格式,并且可以在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。

Ghidra 是一个由美国国家安全局(NSA)的研究局创建和维护的软件逆向工程(SRE)框架。

这么好的东西,中国要拿过来,学起来,师夷长技以制夷!中国经济总量超越美国只是时间问题,我们这代人要超过美国,就是要加油干!这些免费的资源要学习,要吃透!要开发比美国更好的系统!

它是一套功能强大的工具,用于分析编译后的代码,支持多种操作系统平台,包括 Windows、macOS 和 Linux。Ghidra 的用途主要包括以下几个方面:

1. 安全研究:安全研究人员可以使用 Ghidra 来分析恶意软件,理解其行为和功能,以及如何防御或缓解其影响。

2. 软件审计:开发人员和安全审计人员可以使用 Ghidra 来审计软件的安全性,检查代码中可能存在的漏洞和弱点。

3. 逆向工程:逆向工程师可以利用 Ghidra 来对软件进行逆向工程,以理解其工作原理,这有助于创建兼容性更好的软件或进行技术复制。

4. 漏洞挖掘:安全研究人员可以使用 Ghidra 来挖掘软件中的安全漏洞,以便开发相应的补丁或缓解措施。

5. 软件兼容性分析:Ghidra 可以帮助分析不同操作系统上的软件兼容性问题,确保软件能够在不同的环境中正常运行。

6. 教育和研究:教育机构中的学生和研究人员可以利用 Ghidra 来学习软件逆向工程的概念和技术,以及进行相关的研究工作。

7. 法律执法:执法机构可能使用 Ghidra 来分析涉嫌违法的软件,以收集证据或进行调查。

Ghidra 的功能涵盖了反汇编、反编译、动态分析、脚本编写等多个方面,使其成为一个多功能的工具集,适用于各种软件分析需求。由于它是开源的,因此它也促进了全球安全研究社区的协作和知识共享。

Ghidra 的设计目的是为了提供一套先进的分析工具,帮助安全研究人员理解译后的代码,不管这些代码是在哪种操作系统上运行的。它支持多种文件格式,包括但不限于可执行文件、库、和固件镜像,并且可以用于分析二进制文件、反汇编、调试以及进行各种代码级别的分析。

Ghidra 的特点包括:

1.  平台兼容性 :它能够在 Windows、macOS、Linux 等不同的操作系统上运行。

2.  插件架构 :支持插件,以便扩展其功能。

3.  脚本支持 :可以通过脚本自动化任务。

4.  强大的分析能力 :提供反汇编、反编译、动态分析等高级功能。

5.  用户社区 :作为一个开源项目,Ghidra 拥有一个活跃的社区,不断有新的工具和功能被集成。

Ghidra 的开源性质使得它受到全球安全研究人员的欢迎,因为它不仅提供了强大的分析能力,而且还能够根据用户的需求进行定制和扩展。美帝国家安全局通过维护和开发 Ghidra,旨在帮助提高软件的安全性,同时也反映了开源社区在提高软件透明度和安全性方面所发挥的重要作用。

安装

要安装官方预构建的多平台 Ghidra 版本:

  • 安装JDK 17 64 位

  • 下载 Ghidra发行文件

  • 提取 Ghidra 发布文件

  • 启动 Ghidra:(./ghidraRunghidraRun.bat对于 Windows)

有关安装和运行 Ghidra 版本的其他信息和故障排除提示,请参阅docs/InstallationGuide.html可在提取的 Ghidra 版本目录中找到的内容。

建造

要从此源存储库为您的平台创建最新的开发版本:

安装构建工具:
  • JDK 17 64 位

  • 摇篮 7.3+

  • make、gcc 和 g++(仅限 Linux/macOS)

  • 安装了以下组件的 Microsoft Visual Studio 2017+ 或Microsoft C++ 构建工具(仅限 Windows):

    • MSVC

    • 视窗软件开发工具包

    • C++ ATL

下载并解压源码:

从 GitHub 下载

unzip ghidra-master
cd ghidra-master

注意:您可能不想下载压缩源,而是克隆 GitHub 存储库:git clone https://github.com/NationalSecurityAgency/ghidra.git

将额外的构建依赖项下载到源存储库中:
gradle -I gradle/support/fetchDependencies.gradle init
创建开发版本:
gradle buildGhidra

压缩的开发版本将位于build/dist/

有关构建 Ghidra 的更多详细信息,请阅读开发人员指南

对于构建问题,请查看“已知问题”部分以获取可能的解决方案。

图片

这么好的东西,中国要拿过来,学起来,师夷长技以制夷!中国经济总量超越美国只是时间问题,我们这代人要超过美国,就是要加油干!这些免费的资源要学习,要吃透!要开发比美国更好的系统!

软件逆向工程(Software Reverse Engineering,简称SRE)是一种通过分析、反编译和理解软件代码的技术,以获取软件的结构、功能和行为的过程。这项技术有着广泛的应用,以下是一些主要用途:

1. 安全研究:通过逆向工程,安全研究人员可以分析恶意软件或遭受网络攻击的软件,以了解攻击者的行为和意图,并开发相应的防御措施。

2. 漏洞分析:逆向工程可以帮助发现软件中的安全漏洞,从而开发出补丁或更新来修复这些问题,提高软件的安全性。

3. 软件兼容性:通过逆向工程,可以理解不同操作系统或硬件平台上软件的工作原理,帮助开发兼容性更好的软件。

4. 技术复制:在某些情况下,逆向工程可以用来复制或模仿某些先进的技术,这在无法直接获取技术文档或源代码时尤其有用。

5. 知识产权保护:逆向工程可以帮助确认某个产品是否侵犯了其他公司的专利或版权,从而保护知识产权所有者的权益。

6. 软件开发:逆向工程可以帮助开发者理解他们所依赖的第三方软件组件的工作原理,以便更好地集成和修改这些组件。

7. 教育与研究:逆向工程是计算机科学和安全领域的一个重要研究课题,通过实际操作,学生和研究人员可以学习到软件的工作原理和安全性。

8. 法律执法:在某些情况下,执法机构可能需要通过逆向工程来分析涉嫌违法的软件,以收集证据或进行调查。

软件逆向工程是一个复杂的过程,通常需要结合多种技术手段和工具进行。在进行逆向工程时,需要遵守当地的法律法规,并考虑到道德和隐私的问题。

Ghidra 是一个软件逆向工程 (SRE) 框架

github地址

https://github.com/NationalSecurityAgency/ghidra

国内镜像

http://www.gitpp.com/ag/ghidra

我们收集了 10000+ 开源项目 点击 阅读原文