首页
/ Ghidra 快速上手指南:平台要求、安装部署、GUI/无头/PyGhidra 多种运行模式与升级流程

Ghidra 快速上手指南:平台要求、安装部署、GUI/无头/PyGhidra 多种运行模式与升级流程

2026-09-04 21:06:48作者:丁柯新Fawn

本文基于 Ghidra 仓库官方入门文档 GettingStarted.md 编写,覆盖从平台与软硬件要求、免安装式部署、原生组件构建,到 GUI 模式、Ghidra Server、Headless 批处理模式、Single Jar 模式、PyGhidra 模式、BSim 插件的使用,再到扩展(Extension)管理、开发环境与版本升级、故障排查和已知问题的完整路径。读完本文后,你可以在 Windows/Linux/macOS 上正确安装并启动 Ghidra,能独立完成原生组件构建、无头批量分析配置,并能依据仓库中的启动脚本与 launch.properties 定位常见的启动失败问题。

需要说明:原文档声明其内容以 Ghidra 12.1 为基准;当前仓库中 application.properties 显示版本号为 12.2(DEV 渠道),且 application.java.min=25application.gradle.min=9.1application.python.supported=3.14, 3.13, 3.12, 3.11, 3.10, 3.9,与文档中“Java 25 + Python 3.9~3.14 + Gradle 9.1.0+”的要求相互印证。

1. 支持的平台与最低要求

1.1 操作系统支持

  • Windows 10(build 1809 或更高版本)
  • Linux
  • macOS 10.13 或更高版本

所有 32 位操作系统安装已弃用。

1.2 硬件要求

  • 4 GB 内存
  • 1 GB 存储空间(用于存放 Ghidra 安装后的二进制文件)
  • 强烈建议使用双显示器

1.3 软件要求

  • Java 25 64 位运行时与开发工具包(JDK):免费长期支持(LTS)版本可由 Adoptium Temurin、Amazon Corretto 等发行方提供(具体获取方式以各自官方渠道为准)。仓库侧证据:application.propertiesapplication.java.min=25application.java.compiler=25,即当前代码基线本身要求 JDK 25 才能编译与运行。
  • Python 3(3.9 至 3.14)
    • Debugger 调试器支持:Python 3.7 至 3.14;
    • PyGhidra 支持:Python 3.9 至 3.14。
    • Linux 上建议通过系统包仓库安装带 pip 支持的 Python 版本,而不是手动下载。

上述 Python 版本区间与 application.properties 中的 application.python.supported 列表完全一致,可作为版本兼容性的仓库级依据。

2. 安装 Ghidra

Ghidra 不使用传统安装程序。安装方式是用任意解压工具(系统自带、7-Zip、WinZip、WinRAR 等)将 Ghidra 发行包解压到目标目录即可。

注意:不要将新发行包解压到已有安装目录之上(不能覆盖叠加安装)。

2.1 安装注意事项(原文档逐条继承)

  1. 免管理员、无系统级痕迹:Ghidra 就地解压运行,个人使用无需管理员权限;它不修改操作系统配置(例如 Windows 注册表),因此卸载时只需删除整个 Ghidra 安装目录。代价是不会自动创建桌面快捷方式,也不会出现在系统应用启动菜单中。
  2. macOS Gatekeeper 隔离问题:首次启动时,macOS Gatekeeper 可能试图隔离预先构建的未签名 Ghidra 原生组件。有两种规避方式:
    • 解压发行包之前,在终端执行:
      xattr -d com.apple.quarantine ghidra_<version>_<date>.zip
      
    • 或者在首次启动之前,按第 4 节“构建原生组件”自行编译本地原生二进制。
  3. 解压与安装 Server 服务可能需要管理员权限:例如将 Ghidra 解压到 C:\ 这类受限位置,或将 Ghidra Server 注册为系统服务。
  4. 临时与缓存目录:Ghidra 依赖安装目录之外的目录存放临时文件和长期缓存,默认优先使用各操作系统的标准目录(避免把大量数据写入漫游配置文件)。若怀疑默认位置导致问题,可修改 support/launch.properties 中相应属性。从仓库源码 launch.properties 可以看到这三个可覆盖项及其优先级规则:
    • 设置目录 application.settingsdir:系统属性 → XDG_CONFIG_HOME 环境变量 → 平台默认(Windows 为 %APPDATA%,Linux 为 $HOME/.config,macOS 为 $HOME/Library);
    • 缓存目录 application.cachedir:系统属性 → XDG_CACHE_HOME → 平台默认;
    • 临时目录 application.tempdir / java.io.tmpdir:系统属性 → 平台默认(Windows %TEMP%、Linux /tmp、macOS $TMPDIR)。 覆盖值必须是绝对路径。

2.2 Java 相关说明

  • Ghidra 要求 PATH 上存在受支持版本的 JDK,或由 JAVA_HOME 环境变量指定;JAVA_HOME 优先于 PATH

  • 若找到的 Java 版本不满足最低要求,Ghidra 会尝试用该版本(前提是 1.8 或更高)辅助在系统上定位受支持版本;仍无法定位时会提示用户手动输入 Java home 目录(即 bin 目录的父目录)。这一机制避免破坏其他软件依赖的既有 Java 配置。

  • 许多发行版的包管理器可直接安装受支持的 JDK,此时无需手动设置 PATH。

  • 若因为 PATH 上完全没有 Java 导致启动失败,可通过包管理器(aptitude、yum 等)、Windows 安装包(.exe/.msi)、macOS 安装包(.pkg)安装 JDK,或手动解压并加入 PATH。手动步骤如下:

    Windows:

    1. 解压 JDK 发行包(.zip):右键 zip 文件 → Extract All...Extract
    2. 打开环境变量窗口:右键 Windows 开始按钮 → SystemAdvanced system settingsEnvironment variables...
    3. System variables 中高亮 PathEdit... → 在 Variable value 末尾添加分号加 <JDK 解压目录>\bin(或点 New 新增一条);
    4. 依次点击三次 OK 保存;
    5. 重启已打开的命令行窗口使更改生效。

    Linux 与 macOS:

    1. 解压 JDK 发行包:
      tar xvf <JDK distribution .tar.gz>
      
    2. 用编辑器打开 ~/.bashrc,例如:
      vi ~/.bashrc
      
    3. 在文件末尾追加 JDK 的 bin 目录到 PATH:
      export PATH=<JDK 解压目录>/bin:$PATH
      
    4. 保存文件;
    5. 重启已打开的终端窗口。
  • 强制指定 Java 版本:若希望 Ghidra 用特定版本 Java 启动而不是自动定位,可在 support/launch.properties 中设置 JAVA_HOME_OVERRIDE 属性。若设置为不兼容版本,Ghidra 会回退到自动定位兼容版本。注意:仍然需要 PATH 上有 Java 或由 JAVA_HOME 指定 Java,JAVA_HOME_OVERRIDE 才会生效。该属性在仓库 launch.properties 中的注释与文档描述一致:“If the provided path does not point to a supported Java home that Ghidra supports, this property is ignored.”

2.3 Debugger(调试器)相关说明

Ghidra 的 Debugger 通过 Python 连接宿主平台的原生调试器,除受支持版本 Python 外还需要若干额外包。这些包已随发行版提供,也可自行从 PyPI 安装:

  • protobuf>=3.20.3
  • Pybag>=2.2.16(仅 WinDbg 支持需要)

不同原生调试器要求各异,并非都要安装上述全部包;每个连接器会告知其具体要求及安装位置,某些情况下还需要在目标系统上安装包。详细文档见安装目录下的 <GhidraInstallDir>/docs/GhidraClass/Debugger/A1-GettingStarted.html

3. Ghidra 安装目录结构

解压完成后得到安装根目录(下文记作 <GhidraInstallDir>),其顶层包含:

目录/文件 说明
Ghidra/ Ghidra 发行版基础目录,包含运行所需的全部文件
Extensions/ 可选组件,用于扩展 Ghidra 功能或与其他工具集成(见第 7 节)
GPL/ 独立 GPL 支持程序
server/ Ghidra Server 的安装与管理相关文件
support/ 调试 Ghidra、以高级模式运行 Ghidra、控制 Ghidra 启动行为的文件
docs/ 发布说明、API 文档、教程等文档
ghidraRun(.bat) 启动 Ghidra 的脚本
LICENSE / licenses/ Ghidra 许可信息;Ghidra 依赖的第三方许可集合
bom.json CycloneDX JSON 格式的 SBOM(软件物料清单)

对照本仓库源码结构:上述发行目录中 support/server/、启动脚本对应仓库中的 Ghidra/RuntimeScripts(如 ghidraRunsupport/ 目录),Server 文档对应 server/svrREADME.md(发行版中为同名 .html),GPL 程序对应 GPL 目录。

4. 构建原生组件(Native Components)

Ghidra 正常运行需要若干原生二进制。官方公开发行版自带以下平台的原生二进制:

  • Windows 10+,x86 64 位
  • Windows 10+,ARM 64 位(通过 x86 仿真)
  • Linux x86 64 位

以下平台则需用户自行构建原生二进制后运行:

  • macOS x86 64 位 / macOS ARM 64 位
  • Linux ARM 64 位
  • FreeBSD x86 64 位 / ARM 64 位(无调试器支持)
  • OpenBSD x86 64 位 / ARM 64 位

即使官方提供了原生二进制的平台,若二进制无法正常运行,也需要本地构建。构建前置条件:

  • 受支持版本的 JDK(见第 1.3 节);
  • Gradle 9.1.0+(或使用发行版自带的 Gradle wrapper,需联网)——与 application.propertiesapplication.gradle.min=9.1 一致;
  • C/C++ 构建工具与库:
    • macOS:Xcode 或简化的 Command Line Tools for Xcode。联网时 Xcode 可直接从 App Store 安装,命令行工具可用 xcode-select --install 安装;
    • Linux/FreeBSD/OpenBSD:安装 64 位版本的 GCC 或 Clang、make;
    • Windows:Microsoft Visual Studio 2017 或更高版本,或 Microsoft C++ Build Tools(需安装 MSVC、Windows SDK、C++ ATL 组件)。

构建命令:

cd <GhidraInstallDir>/support/gradle/
gradle buildNatives

未安装 Gradle 但可联网时,使用 Gradle wrapper(仓库对应 support/gradle/ 目录,内含 gradle-wrapper.jargradle-wrapper.properties):

cd <GhidraInstallDir>/support/gradle/
./gradlew(.bat) buildNatives

构建成功后,新编译的原生二进位置于各模块的 build/os/<platform>/ 子目录,Ghidra 会优先使用它们而不是 os/<platform>/ 中预构建的二进制。

5. 运行 Ghidra

5.1 GUI 模式

  1. 进入 <GhidraInstallDir>
  2. 执行 ghidraRun.bat(Windows)或 ghidraRun(Linux/macOS)。

从仓库 ghidraRun 源码可以看到其工作方式:

  • 默认堆内存通常为物理内存的 1/4;可通过脚本内的 MAXMEM_DEFAULT 覆盖,支持 \d+[gGmMkK] 形式(如 8G4096m);
  • 环境变量 GHIDRA_MAXMEM 覆盖所有实例的堆上限,GHIDRA_GUI_MAXMEM 仅覆盖 GUI 实例;
  • GHIDRA_JAVA_OPTIONS / GHIDRA_GUI_JAVA_OPTIONS 环境变量可追加任意 JVM 参数;
  • 最终通过 support/launch.shbg(后台)模式调用 jdk 类型启动入口类 ghidra.GhidraRun

launch.sh 支持四种模式:fg(前台)、bg(后台)、debug(调试,不挂起)、debug-suspend(调试,挂起等待),调试模式下可用环境变量 DEBUG_ADDRESS 覆盖默认监听地址 127.0.0.1:18001。启动失败时请参阅第 9 节“故障排查”。

5.2 Ghidra Server(多用户协作)

Ghidra 支持多名用户基于同一项目协作:每位用户启动并操作本地项目副本,将修改提交到包含所有提交的公共仓库。安装与配置详情见安装目录下的 <GhidraInstallDir>/server/svrREADME.html(仓库源码为 server/svrREADME.md,同目录还提供 svrInstallsvrAdminsvrUninstall 等管理脚本)。

5.3 Headless(无头/批处理)模式

Ghidra 默认以 GUI 模式运行,但也支持命令行无头批处理模式。其用法文档为 <GhidraInstallDir>/support/analyzeHeadlessREADME.html(仓库源码为 analyzeHeadlessREADME.md)。

Headless Analyzer 是 Ghidra 的命令行(非 GUI)版本,可:

  • 创建并填充项目;
  • 对导入或已存在的二进制执行分析;
  • 在项目上运行非 GUI 脚本(脚本可依赖程序也可不依赖)。

通过 analyzeHeadless 脚本发起(仓库对应 support/analyzeHeadless)。它至少需要一个已存在(或待创建)项目的路径与名称,之后可执行:

  • 导入单个文件或目录(可递归);
  • 处理已存在于项目中的文件/目录;
  • 对每个可执行文件运行任意数量非 GUI 预处理脚本(preScript)与后处理脚本(postScript);
  • 对每个文件开关分析(-noanalysis);
  • 输出逐文件处理日志,并支持脚本独立日志;
  • 保留或删除所创建的项目;
  • -import/-process 模式下只读运行或保存修改。

常用命令行骨架(摘自该 README 的 Usage 章节):

analyzeHeadless <project_location> <project_name>[/<folder_path>]
    [[-import [<directory>|<file>]+] | [-process [<project_file>]]]
    [-preScript <ScriptName> [<arg>]*]
    [-postScript <ScriptName> [<arg>]*]
    [-scriptPath "<path1>[;<path2>...]"]
    [-propertiesPath "<path1>[;<path2>...]"]
    [-scriptlog <path to script log file>]
    [-log <path to log file>]
    [-overwrite] [-mirror]
    [-recursive [<depth>]]
    [-readOnly]
    [-deleteProject]
    [-noanalysis]
    [-processor <languageID>]
    [-cspec <compilerSpecID>]
    [-analysisTimeoutPerFile <timeout in seconds>]
    [-keystore <KeystorePath>]
    [-connect [<userID>]]
    [-p]
    [-commit ["<comment>"]]

运行注意:项目若已在 GUI 中打开,Headless Analyzer 可能无法运行;批量导入模式下以 . 开头的文件默认视为隐藏文件被忽略,但显式点名导入时仍会尝试。

5.4 Single Jar 模式

通常 Ghidra 是整棵目录树安装,便于模块化地增删功能集并保留大量可配置/可扩展文件。但有时希望以牺牲部分配置能力为代价,把全部(或部分)Ghidra 压缩进单个 jar 文件,以便命令行无头运行,或作为逆向能力库嵌入其他 Java 应用。

单文件 ghidra.jar 可通过 <GhidraInstallDir>/support/buildGhidraJar 脚本生成。从仓库 buildGhidraJar 源码可见:该脚本以 fg 模式调用 launch.sh,通过 -DGhidraJarBuilder.Name 属性启动 ghidra.util.GhidraJarBuilder 应用(-main ghidra.JarRun)完成打包;同样支持 MAXMEM 覆盖堆内存。

5.5 PyGhidra 模式

Ghidra 已内置集成 Pyhidra 扩展,开箱即用支持原生 CPython 3。启用方式是从 Python 环境通过专用启动脚本启动 Ghidra:

  1. 进入 <GhidraInstallDir>/support/
  2. 执行 pyghidraRun.bat(Windows)或 pyghidraRun(Linux/macOS)。

pyghidra Python 模块尚未安装,脚本会提示代为安装(连同依赖);手动安装命令:

python3 -m pip install --no-index -f <GhidraInstallDir>/Ghidra/Features/PyGhidra/pypkg/dist pyghidra

也可以在 Python 虚拟环境中安装和运行 PyGhidra。

从仓库 pyghidraRun 源码可进一步确认其机制:脚本先校验 python3 可执行,然后按 GHIDRA_JAVA_OPTIONSPYGHIDRA_JAVA_OPTIONSJDK_JAVA_OPTIONS 组装 JVM 参数,最终调用 Ghidra/Features/PyGhidra/support/pyghidra_launcher.py 完成启动;若检测到源码树结构(无 Ghidra/ 子目录)则自动以 --dev 开发模式运行。

安装完成后即可像普通 Python 模块一样使用:可被其他脚本 import,也可用 pyghidrapyghidraw 命令启动交互式环境。PyGhidra 使用文档见 <GhidraInstallDir>/Ghidra/Features/PyGhidra/README.html(仓库源码为 PyGhidra README)。

5.6 Behavioral Similarity(BSim)

BSim 是一个用于在二进制集合中查找结构相似函数的 Ghidra 插件,详见 <GhidraInstallDir>/docs/GhidraClass/BSim/BSimTutorial_Intro.html。发行版的 support/ 目录中同时提供 bsim / bsim_ctl 运行脚本(见 Ghidra/RuntimeScripts/support)。

6. 扩展(Extensions)

扩展是可选组件,可以:

  • 用实验性或社区贡献的 Ghidra 插件/分析器扩展 Ghidra 功能;
  • 将其他工具与 Ghidra 集成,例如 Eclipse 或 IDAPro。

发行版自带的扩展(默认未安装)位于 <GhidraInstallDir>/Extensions 目录,仓库对应 Ghidra/Extensions

  • EclipseGhidraDevGhidraSleighEditor 两个 Eclipse 插件,用于已存在的 Eclipse 安装(见 Extensions/Eclipse/GhidraDev/README.html,仓库对应 GhidraBuild/EclipsePlugins/GhidraDev);
  • Ghidra:Ghidra 扩展(原称 contribs),见下文“Ghidra 扩展说明”;
  • IDAPro:与 Ghidra 互传条目(items)的 IDAPro 插件/加载器(仓库对应 GhidraBuild/IDAPro)。

6.1 Ghidra 扩展安装说明

从 GUI 安装/卸载(推荐):

  1. 点击 File -> Install Extensions
  2. 勾选要安装的扩展、取消勾选要卸载的扩展;
  3. 外部扩展通常不出现在内置扩展的默认位置(Ghidra/Extensions)。要从该 GUI 添加外部扩展,点击绿色加号工具栏按钮,定位并选择外部扩展 zip 文件;
  4. 重启 Ghidra 使更改生效。

从 GUI 安装的扩展被安装到 <UserSettings>/Extensions<UserSettings> 可在 GUI 中通过 Help -> Runtime Information -> Application Layout -> Settings Directory 查看。

直接安装到 Ghidra 安装目录:系统管理员为共享安装统一管理扩展、或安装仅被无头使用时更适用。在 <GhidraInstallDir>/Ghidra/Extensions 中解压扩展归档即可,例如在 Linux/macOS 上:

# 1. 切换到 Ghidra 已安装扩展目录
cd <GhidraInstallDir>/Ghidra/Extensions
# 2. 解压目标扩展归档到当前目录
unzip ../../Extensions/Ghidra/<extension>.zip
# 3. 下次启动 Ghidra 时扩展即被安装

卸载时直接从 <GhidraInstallDir>/Ghidra/Extensions 删除对应扩展目录,下次启动即卸载。注意:若有正在运行的 Ghidra 实例对目标扩展目录持有文件锁,可能无法用此方式卸载。

7. Ghidra 开发

用户可通过开发自定义 Ghidra 脚本、插件、分析器等扩展 Ghidra 功能。Ghidra 通过名为 GhidraDev 的自定义 Eclipse 插件支持 Eclipse 开发,位于 <GhidraInstallDir>/Extensions/Eclipse 目录(仓库源码为 GhidraBuild/EclipsePlugins/GhidraDev),安装与使用方法见其 README(Extensions/Eclipse/GhidraDev/README.html)。

注意:Ghidra 发行版不包含 Eclipse 本体GhidraDev 插件设计为安装到已存在的 Eclipse 中。

Ghidra 脚本 API 的 javadoc 位于 <GhidraInstallDir>/docs/GhidraAPI_javadoc.zip

8. 升级说明

8.1 通用升级步骤

  1. !!!重要!!! 先备份旧项目!!
    • 备份方式:把 Ghidra 项目目录中的 .rep 目录和 .gpr 文件手动复制到文件系统中的安全位置;
  2. 新版 Ghidra 默认沿用用户最近一个版本的已保存 profile,使已保存的工具配置自动带入新项目。但这也可能阻止某些新工具选项和功能自动配置。要打开使用最新配置的新工具,应在 Project Manager 窗口选择 Tools -> Default Tools...
  3. 打开用旧版 Ghidra 创建的 program 时,会提示先升级该 program 才能打开。升级不会在你保存之前覆盖旧文件;若保存回原文件,将不再能用旧版 Ghidra 打开它。也可以选择 Save As 另存新文件,保持旧文件不变。务必谨慎升级共享 program 文件——所有访问该文件的用户都必须同步升级自己的 Ghidra。

8.2 Server 升级

Ghidra Server 升级细节见 <GhidraInstallDir>/server/svrREADME.html(仓库源码 server/svrREADME.md)。

9. 故障排查与帮助

9.1 启动失败排查

使用 <GhidraInstallDir><GhidraInstallDir>/support 中提供的脚本启动时,可能遇到以下报错:

  • 问题:“The 'java' command could not be found in your PATH or with JAVA_HOME.” 解决:系统 PATH 上必须存在 Java 运行时(java/java.exe),或由 JAVA_HOME 指定 Java 安装目录。Java 版本要求见第 1.3 节。

  • 问题:“Failed to find a supported JDK.” 解决:Ghidra 启动脚本会用 PATH 或 JAVA_HOME 指定的 Java 运行时去找 Ghidra 完成启动所需的支持版本 JDK;请确认系统上已预装第 1.3 节要求的 JDK。

  • 问题:“Exited with error. Run in foreground (fg) mode for more details.” 解决:Ghidra 后台启动失败,具体错误被抑制。可把启动脚本中的 LAUNCH_MODE 变量改为 fg 前台重跑,或者使用 <GhidraInstallDir>/support/ghidraDebug 脚本以调试模式运行,从而看到错误信息与额外调试输出。 注意:从仓库 ghidraDebug 源码可确认,调试模式默认监听 127.0.0.1:18001DEBUG_ADDRESS=127.0.0.1:18001LAUNCH_MODE=debug),并支持 debug-suspend 模式。

9.2 使用过程中的帮助途径

  • 教程与其他文档位于 <GhidraInstallDir>/docs
  • Ghidra 运行中,许多主题提供上下文敏感帮助:将鼠标置于窗口、菜单或组件上按 F1 即可查看对应帮助;
  • 索引化帮助位于 Help -> Topics...

10. 已知问题(Known Issues)

10.1 所有平台

  • 显示指令对应的正确处理器手册页需要安装 Adobe Reader 8.0.x 或更高版本(Reader 7.x 破坏了 goto page 功能);未安装更高版本时,处理器手册会显示在手册顶部。8.0.x 以上版本在多数平台可用,但个别平台/版本组合仍有问题。
  • 某些长耗时操作可能阻塞 GUI 更新线程。
  • 项目归档只保存归档内的私有文件和已检出文件;项目归档不支持基于服务器的仓库。
  • 使用 Ghidra Server 时,所有客户端与服务器都必须配置有效的 DNS,且网络上正向与反向解析均正确。
  • 图像基址(image base)不能改为落在已有内存块内部的地址。
  • 语言版本化与迁移不处理上下文寄存器(context register)用法的复杂变更。
  • 安装路径包含 ! 字符时 Ghidra 无法启动——为避免 Java 内部库解析此类路径的问题(! 在 Java 中用作 jar 分隔符)。

10.2 Windows

  • 旧版本 7-Zip 可能无法解压包含 0 字节长度文件的 Ghidra 发行包;升级到新版 7-Zip 可解决。
  • 路径包含 ^ 字符时 Ghidra 启动失败。

10.3 Linux

  • 使用 32 位色深(color depth)的 Linux 远程桌面会话中 Ghidra 可能显示不正确;将远程桌面应用的色深设为 24 位已知可改善此问题。
  • 有用户报告多显示器瘦客户机环境下 GUI 渲染问题,归因于已报告的 Java 缺陷;必要时可禁用第 2/3 块显示器绕过。
  • 某些 Linux 配置下 GUI 图标可能渲染不正确;将 <GhidraInstallDir>/support/launch.propertiesVMARGS=-Dsun.java2d.opengl 设为 true 可能修复。
  • XMonad、Sway 等非重父化(non-reparenting)窗口管理器可能把 Ghidra 窗口渲染为空白。这是已知 Java 问题,可取消 <GhidraInstallDir>/support/launch.properties#ENVVARS_LINUX=_JAVA_AWT_WM_NONREPARENTING=1 的注释来解决——在仓库 launch.properties 中该行确实以注释形式预置,取消注释即可启用。

10.4 macOS

  • 在 macOS 上使用网络驱动器(包括网络映射的主目录)构建新的 Ghidra 模块扩展会抛出 Java 异常;该问题为 Java/macOS 社区已知问题,尚无修复。从 Eclipse 构建 Ghidra 模块扩展的更多信息见 Extensions/Eclipse/GhidraDev/README.html(仓库对应 GhidraDev 插件目录)。

11. 关键文件速查(结合仓库路径)

用途 安装目录位置 仓库对应源码路径
启动脚本(GUI) ghidraRun / ghidraRun.bat ghidraRun
启动底层脚本 support/launch.sh / launch.bat launch.sh
启动与 JVM 配置 support/launch.properties launch.properties
调试模式启动 support/ghidraDebug ghidraDebug
无头分析 support/analyzeHeadless analyzeHeadlessanalyzeHeadlessREADME.md
单 jar 构建 support/buildGhidraJar buildGhidraJar
PyGhidra 启动 support/pyghidraRun pyghidraRunPyGhidra README
原生组件构建 support/gradle/ support/gradle
Server 文档与脚本 server/ server/svrREADME.md
版本/Java/Python/Gradle 基线 Ghidra/application.properties
本指南原文档 docs/GettingStarted.html GhidraDocs/GettingStarted.md

综合来看,本文档的主线是:按平台要求备齐 JDK 25 与 Python 3.9+ → 解压即装 → 必要时本地构建原生组件 → 选择 GUI、Server、Headless、Single Jar、PyGhidra 五种运行模式之一启动 → 通过 launch.properties 与各启动脚本(ghidraRunanalyzeHeadlesspyghidraRunbuildGhidraJarghidraDebug)完成调优与排障 → 按升级流程先备份 .rep/.gpr 再迁移项目。仓库中 Ghidra/RuntimeScripts 下的脚本与 Ghidra/application.properties 的版本基线,为文档中的每一项要求都提供了可核对的实现证据。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
docsdocs
暂无描述
Markdown
889
5.78 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
527
590
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.17 K
341