Project Icon

ghidra

美国国家安全局开源的软件逆向工程框架

Ghidra是美国国家安全局研究部门开发的开源软件逆向工程框架。该框架提供了一套软件分析工具,可在Windows、macOS和Linux平台上分析编译代码。Ghidra支持反汇编、汇编、反编译、图形化和脚本编写等功能,兼容多种处理器指令集和可执行文件格式。用户能够使用Java或Python开发自定义扩展和脚本,进行交互式和自动化分析。

Ghidra软件逆向工程框架

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

为了支持NSA的网络安全任务,Ghidra被设计用于解决复杂SRE工作中的扩展和团队协作问题,并提供可定制和可扩展的SRE研究平台。NSA已将Ghidra的SRE能力应用于各种问题,包括分析恶意代码和为寻求更好地了解网络和系统潜在漏洞的SRE分析师生成深入见解。

如果你是美国公民,对像这样的项目感兴趣,想为NSA开发Ghidra和其他网络安全工具以帮助保护我们的国家和盟友,可以考虑申请加入我们。

安全警告

**警告:**某些版本的Ghidra存在已知的安全漏洞。在继续之前,请阅读Ghidra的安全公告,以更好地了解可能对你造成的影响。

安装

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

  • 安装JDK 21 64位
  • 下载Ghidra发布文件
    • **注意:**官方多平台发布文件名为ghidra_<版本>_<发布>_<日期>.zip,可在"Assets"下拉菜单中找到。下载名为"Source Code"的文件不适用于此步骤。
  • 解压Ghidra发布文件
  • 启动Ghidra:./ghidraRun(Windows系统使用ghidraRun.bat

有关安装和运行Ghidra发布版的其他信息和故障排除提示,请参阅提取的Ghidra发布目录中的docs/InstallationGuide.html

构建

要从此源代码库为你的平台创建最新的开发版本:

安装构建工具:
  • JDK 21 64位
  • Gradle 8.5+(如果有互联网连接,也可使用提供的Gradle包装器)
  • Python3(版本3.9至3.12)及其捆绑的pip
  • make、gcc和g++(仅限Linux/macOS)
  • Microsoft Visual Studio 2017+或Microsoft C++ Build Tools,并安装以下组件(仅限Windows):
    • MSVC
    • Windows SDK
    • C++ ATL
下载并解压源代码:

[从GitHub下载][master]

unzip ghidra-master
cd ghidra-master

**注意:**除了下载压缩源代码,你也可以选择克隆GitHub仓库:git clone https://github.com/NationalSecurityAgency/ghidra.git

将额外的构建依赖项下载到源代码仓库:

**注意:**如果有互联网连接且你没有安装Gradle,以下gradle命令可替换为./gradle(.bat)

gradle -I gradle/support/fetchDependencies.gradle
创建开发版本:
gradle buildGhidra

压缩后的开发版本将位于build/dist/目录。

有关构建Ghidra的更详细信息,请阅读开发者指南。

如遇构建问题,请查看已知问题部分以寻找可能的解决方案。

开发

用户脚本和扩展

Ghidra安装支持用户通过Eclipse的GhidraDev插件编写自定义脚本和扩展。该插件及其相应说明可在Ghidra发布版的Extensions/Eclipse/GhidraDev/目录或此链接中找到。

**注意:**Eclipse的GhidraDev插件仅支持针对完全构建的Ghidra安装进行开发,这些安装可从发布页面下载。

高级开发

要开发Ghidra工具本身,强烈建议使用Eclipse,Ghidra的开发过程已针对Eclipse进行了高度定制。

安装构建和开发工具:
  • 按照上述构建说明操作,确保构建过程无错误完成
  • 安装Eclipse IDE for Java Developers
准备开发环境:
gradle prepdev eclipse buildNatives
将Ghidra项目导入Eclipse:
  • File -> Import...
  • General | Existing Projects into Workspace
  • 选择根目录为你下载或克隆的ghidra源代码仓库
  • 勾选Search for nested projects
  • 点击Finish

当Eclipse完成项目构建后,可以使用提供的Ghidra Eclipse 运行配置来启动和调试Ghidra。

有关开发Ghidra的更详细信息,请阅读开发者指南。

贡献

如果你希望将错误修复、改进和新功能贡献回Ghidra,请查看我们的贡献者指南,了解如何参与这个开源项目。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号