IOT-Reaserch安装ghidra以及IDEA和ghidra的配置

时间:2024-02-22 12:28:50

Linux research 5.4.0-91-generic #102~18.04.1-Ubuntu SMP Thu Nov 11 14:46:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

java --version

IOT自带的java是符合要求的,不需要额外下载

iot@research:~/install-file$ java --version
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment Temurin-11.0.13+8 (build 11.0.13+8)
OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (build 11.0.13+8, mixed mode)

屁,当我没说,我做到后面现在又来补前面的,没有java17

要重新下载找到对应版本的java17

 https://adoptium.net/zh-CN/temurin/releases/

或者直接sudo

sudo apt install openjdk-17-jdk

 Ubuntu 22.04、20.04、18.04上安装OpenJDK 17 - 知乎 (zhihu.com)

如何切换Java版本

在主文件夹中的 .bashrc中把java的path改了

gradle -v(没用,仅记录)

下载

Gradle | Releases 也可以直接在这里下载

wget https://downloads.gradle.org/distributions/gradle-7.6.3-bin.zip

手动安装,因为直接sudo apt-get install gradle的版本是4.4.1,不符合ghidra的要求

解压

unzip gradle-7.6.3-bin.zip

sudo unzip gradle-7.6.3-bin.zip -d /opt

运行以下命令来重命名Gradle目录

sudo mv /opt/gradle-7.6.3   /opt/gradle

配置环境变量 

主目录里面隐藏文件.bashrc,直接打开它,在末尾加上

export PATH=$PATH:/opt/gradle/bin

保存文件

刷新环境变量

source ~/.bashrc

或者这样:

步骤3:配置环境变量
在终端中打开~/.bashrc或~/.bash_profile文件(取决于你使用的Shell):
nano ~/.bashrc
或
nano ~/.bash_profile
在文件末尾添加以下内容:
export PATH=$PATH:/opt/gradle/bin
按下Ctrl + X,然后输入Y保存文件。
步骤4:刷新环境变量
在终端中运行以下命令来刷新环境变量:
source ~/.bashrc
或
source ~/.bash_profile

验证

gradle -v

安装成功就可以看到版本信息

其他依赖条件

make -v

gcc -v

g++ -v

下载ghidra

我选择去手动下载再解压(git好慢好慢啊)

github链接

GitHub - NationalSecurityAgency/ghidra: Ghidra is a software reverse engineering (SRE) framework

我选择的是

解压,然后打开这个目录的文件夹,然后 直接运行./ghidraRun

打开就可以create new project,选择项目存储的位置,就可以反汇编文件了

下载idea

参考教程

Linux系统安装IDEA保姆级教程_linux安装idea-CSDN博客

IDEA官网的链接:https://www.jetbrains.com/idea/

下载IDEA

首先在官网上下载linux版本的IDEA,免费版本就行了,第一次没有经验,ghidra那个插件自己编译太难搞了,还是选择2022版本的算了

 

解压下载好的IDEA

配置环境变量

然后将如下的内容添加至~/.bashrc文件的最后一行(!!!注意替换掉对应的目录名!!!)。

export IDEA_HOME=/home/iot/install-file/idea-IC-233.14015.106
export PATH=${IDEA_HOME}/bin:$PATH

export IDEA_HOME=/home/iot/install-file/idea-IC-233.14015.106
export PATH=${IDEA_HOME}/bin:$PATH

更新启用环境变量

source ~/.bashrc

启动IDEA 

Linux环境下的IDEA已经安装完成了,我们只需要进入解压目录中的bin文件夹,输入如下指令,即可启动IDEA

./idea.sh

 我们首先启动IDEA,认真阅读使用协议后,选择同意,并点击Continue

接下来IDEA询问我们是否愿意分享自己使用软件过程中的数据,我们可以根据自己的情况选择。

汉化 

选择完毕后,就进入了IDEA的欢迎界面了,我们点击左侧的Plugins

在顶部的搜索框里面,输入Chinese,就可以找到中文的汉化插件。

我们点击Install,就会开始下载安装插件,安装完成后,我们点击Restart IDE,重启后,就可以显示中文的IDEA界面了。

 安装完成

IDEA和Ghidra

主要教程Ghidra IDEA 开发环境配置 | Niko's BLOG (tinyniko.github.io)

 使用IDEA搭建Ghidra Script开发调试环境配置_idea ghidra script-CSDN博客

下载插件,但编译没成功,不过有现成的

从github链接 中下载IDEA的插件 

intellij-ghidra(Github)

现成的:Versions: Ghidra - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)  

下载到本地,解压,然后修改项目目录下的gradle.properties

然后在源代码目录下运行 gradle buildPlugin

build错误,搞不好

直接在插件里搜索Ghidra,出来的就是对应版本的0.4.1

安装试试看

配置插件

 

把Ghidra的地址写上,在此之前最好打开Ghidra,因为插件要检测用户家目录下的.ghidra文件夹里的一些内容,所以先运行一下ghidra 

 

点击确定,等待,IDEA下面有一个进度条,要等他走完

 点这里,编辑配置

然后添加,就配置完了

 但是打开ghidra的script manager,发现并没有我们写的java脚本

继续配置脚本目录

 

 

回到script manager可以看到我们写的脚本了 

 直接在ghidra里运行

简单的实例

简单的代码:

//@author why
//@category test
//@keybinding
//@menupath
//@toolbar


import ghidra.app.script.GhidraScript;

public class helloGHidra extends GhidraScript {
    protected void run() throws Exception {
        printf("hello idea\n");
        printf("hello ghidra\n");
        String name = currentProgram.getName();
        printf("hello %s\n", name);
    }
}

如果直接在IDEA里运行的话,我们可以在代码的最后一行下一个端点,他会跳转到打开Ghidra的界面

 然后再ghidra的脚本管理器里点运行

在IDEA中就可以看到了 

debug之后,在ghidra里也可以看到输出

如果直接在IDEA里结束运行,他会把Ghidra也关掉