在做一些关于代码分析的项目的过程中,需要使用到Joern,之前从来没有用过,所以也基本上算是从零开始安装和使用。
1.ubuntu的安装
我是直接在电脑上装的ubuntu22.04,没有用虚拟机,安装双系统的话网上都有教程。装完之后直接使用就可以了(ubuntu真的是很好用,菜狗在读研前这些课的翘了,现在用起来是真的舒服)
2.使用前的配置
因为我是做C/C++程序的分析,所以在安装Joern前要安装好gcc的编译器,同时根据Joern的开发文档,我是安装了jdk19(github上是jdk21,目前来看jdk19已经够用了),由于需要配置环境变量,所以Vim必不可少。
根据下面的代码依次可以安装好这些:
sudo apt-get install gcc
sudo apt-get install openjdk-19-jre-headless
sudo apt-get install openjdk-19-jdk-headless
sudo apt-get update
sudo apt-get -y install vim
安装这些应该不会碰到什么错误(反正我没有碰到)
3.配置环境变量
利用vim配置环境变量:
sudo vim /etc/environment
#配置环境变量
source /etc/environment
#重新加载环境
将下面的代码放入打开的文件中:
JAVA_HOME="/usr/lib/jvm/java-19-openjdk-amd64/bin/java"
(菜狗一开始都不知道怎么打字,按了i之后才能写代码,写完后按esc,之后:wq保存并退出)
echo $JAVA_HOME #验证
4.安装Joern
安装是根据官方文档,在安装之前需要安装curl(之前没安装,弄了很久一直在报错)
sudo apt-get install curl
通过下面几个命令安装Joern,先通过github下载安装程序,之后再通过安装程序下载
wget https://github.com/joernio/joern/releases/latest/download/joern-install.sh
chmod +x ./joern-install.sh
sudo ./joern-install.sh
这样就算安装成功了
然后在命令行中输入Joern就可以看到如下界面
找了官网一个例子测试了一下,效果还不错: