起因
Eclipse太难用了。。。
文中蓝色的地方都是有超链接可以跳转的,比如下载之类的
配置过程
- 安装jdk
要求是11版本的,jdk-11.0.12_windows-x64_bin.exe,默认安装就完事了,也不需要配啥环境变量,装完java和javac就能用
- 安装idea
我是用的版本是旗舰版Ultimate 2021.3,默认安装就完事了
从项目的github下载到本地,然后修改项目目录下的gradle.properties
。
将platformType
改为IC
或IU
,我装的旗舰版IDEA,所以是IU
,社区版本用IC
。platformVersion
改为IDEA对应的版本,我用的最新版,是2021.3
,如下图:
下载对应版本的gradle进行编译
进入项目目录运行gradle buildPlugin
,时间比较长
等待编译完成,项目目录下build/distributions/intellij-ghidra-*.zip
这个文件就是插件的安装包了
- 运行一下ghidra
因为插件要检测用户家目录下的.ghidra文件夹里的一些内容,所以先运行一下ghidra
- 配置IDEA
新建一个JAVA项目
- 安装插件
从本地磁盘安装,选择刚刚编译好的zip文件
- 配置插件
至此搞定配置部分
- 写点代码吧
//@author why
//@category test
//@keybinding
//@menupath
//@toolbar
import ghidra.app.script.GhidraScript;
public class HelloIdeaGhidra extends GhidraScript {
protected void run() throws Exception {
printf("hello idea\n");
printf("hello ghidra\n");
String name = currentProgram.getName();
printf("hello %s\n", name);
}
}
Debug一下,可以看到Ghidra跑起来了
- 试试Debug插件吧
随便用ghidra打开一个二进制文件,打开ghidra的script manager,发现并没有我们写的java脚本
这里主要原因是没有配置ghidra脚本目录,配置一下:
回到script manager可以看到我们写的脚本了
下个断点:
然后直接从ghidra的script manager运行这个脚本,可以看到已经断下来了:
到此结束
其他的问题
目前intellij-ghidra的0.3版本有个小bug,就是要求用户家目录下的.ghidra/.ghidra_10.1_PUBLIC
文件夹下要有Extensions
文件夹,没有的话需要手动新建一个空白的