Linux源码编译Ghidra

Linux源码编译安装Ghidra

Linux版本:Ubuntu 18.04 64bit

时间:2023-10-10

Ghidra版本:ghidra_10.5_dev

Ghidra仓库地址:https://github.com/NationalSecurityAgency/Ghidra

依赖项

通过 Readme 中描述,我们可以看到,需要的依赖项如下:

To create the latest development build for your platform from this source repository:

Install build tools:

安装步骤依次介绍:

安装 JDK

我采用的是 apt 在线安装,命令如下:

1
sudo apt-get install openjdk-17-jdk

安装后,通过以下命令检查是否安装成功

1
2
3
4
5
6
$ java --version
openjdk 17.0.7 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu118.04)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu118.04, mixed mode, sharing)
$javac --version
javac 17.0.7

这里环境变量似乎是已经自动配置好了,不用再自己配置了。

安装 Gradle

Gradle下载地址:https://gradle.org/releases/

根据官网指示安装:https://docs.gradle.org/8.4/userguide/installation.html#ex-installing-manually

注:这里虽然说的是7.3+版本,最好用较新的,我一开始用7.3.3版本并没有编译成功。

Gradle需要java环境,JDK 8 以上均可。

安装步骤如下:

  1. 下载 binary-only zip 文件

    1
    wget https://downloads.gradle.org/distributions/gradle-8.4-bin.zip
  2. 解压

    1
    2
    3
    4
    $ mkdir /opt/gradle
    $ unzip -d /opt/gradle gradle-8.4-bin.zip
    $ ls /opt/gradle/gradle-8.4
    LICENSE NOTICE bin README init.d lib media
  3. 配置环境变量

    1
    export PATH=$PATH:/opt/gradle/gradle-8.4/bin
    1
    2
    export GRADLE_HOME=/opt/gradle/gradle-8.4
    export PATH=${GRADLE_HOME}/bin:${PATH}

    两种方式均可,export 是临时配置,可把这条命令加入 .bashrc

  4. 检查是否安装成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ gradle -v

    ------------------------------------------------------------
    Gradle 8.4
    ------------------------------------------------------------

    Build time: 2023-10-04 20:52:13 UTC
    Revision: e9251e572c9bd1d01e503a0dfdf43aedaeecdc3f

    Kotlin: 1.9.10
    Groovy: 3.0.17
    Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023
    JVM: 17.0.7 (Private Build 17.0.7+7-Ubuntu-0ubuntu118.04)
    OS: Linux 4.15.0-212-generic amd64

编译安装 Ghidra

步骤如下:

  1. 从 GitHub 下载 ghidra 源码

  2. 解压

    1
    2
    $ unzip ghidra-master
    $ cd ghidra-master
  3. 在 ghidra 目录下执行以下命令安装依赖

    1
    gradle -I gradle/support/fetchDependencies.gradle init
  4. 安装好依赖后,执行以下命令开始编译

    1
    gradle buildGhidra

    编译过程可能会有部分报错,但能正常编译,并且也似乎不影响Ghidra正常使用(迷惑),编译完成后,可以在Ghidra源代码目录下找到build文件夹,该文件夹下的dist文件夹中会生成编译好的Ghidra压缩包,执行以下命令,解压压缩包:

    1
    unzip ./build/dist/ghidra_10.5_DEV_20231009_linux_x86_64.zip
  5. 切换到解压后的目录中,运行 ghidra

    1
    2
    cd ./build/dist/ghidra_10.5_DEV
    ./ghidraRun

    即可启动编译好的Ghidra使用了

参考博客

https://blog.csdn.net/weixin_43437392/article/details/117389655