前言
最近在学习通过深度学习进行漏洞检测,而SySeVR作为一个经典的框架,就准备将其复现出来,看了许许多多的文章,大多讲的的不是很清楚,并且老版本的joern也很难搭建成功,会引发各种各样的问题,于是就记录一下复现的过程,主要参考以下博主的资料(讲的很细,但是笔者跟着做的时候出现了难以解决的问题,遂放弃)1、SySeVR环境配置(上)_sysevr 复现代码-优快云博客文章浏览阅读1.4k次。kali切换中文 kali换源 kali安装并切换Java版本_sysevr 复现代码
https://blog.youkuaiyun.com/qq_55202378/article/details/127452821?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170228598416800185878275%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170228598416800185878275&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-127452821-null-null.nonecase&utm_term=SySeVR%E5%A4%8D%E7%8E%B0&spm=1018.2226.3001.4450
一、环境搭建
1、安装操作系统 ubuntu20.04
安装指南可以看以下过程,无须其他多余操作
Ubuntu系统的下载与安装(超详细)_ubantu下载-优快云博客
https://blog.youkuaiyun.com/fr16021028/article/details/125888815
按照以上操作完成后,ubuntu中是默认没有java和python2的,安装完之后记得打一个快照。
2、ubuntu20.04换源
换软件源使得能够更快速地安装和更新软件包,其中要注意的是focal 是 Ubuntu 20.04 的版本代号,请确保你使用的源与你的 Ubuntu 版本相匹配。
#打开文件
gedit /etc/apt/sources.list
#在文件中写入一下内容(全部写入)
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#进行更新
sudo apt update
sudo apt upgrade
3、ubuntu20.04装python2.7,具体是2.7.18版本
sudo apt update
sudo apt install python2
python2 --version #检查是否安装成功
4、python2安装pip2
#下载安装的文件
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
#使用 Python 2 运行下载的脚本以安装 pip
sudo python2 get-pip.py
#检查是否安装成功(pip 20.3.4 )
pip2 --version
5、ubuntu20.04安装jdk1.8.0_392
李珍老师使用的是JDK 1.8.0_161,下面安装的与之有点差别,但是不影响实现。
#更新包列表
sudo apt update
#安装 OpenJDK 8
sudo apt install openjdk-8-jdk
#检查是否安装成功
java -version
6、从github上面下载相应的文件
apt install git
git clone https://github.com/SySeVR/SySeVR.git
7、ubuntu20.04安装neo4j的2.1.5版本
Neo4j 2.1.5 版本不支持在 Ubuntu 20.04 上安装。可以直接用李珍老师给的包进行安装。打开第6步中下载的文件夹SySeVR,在 SySeVR/SySeVR_docker/docker_build/home 目录下有一个文件为SySeVR,将其复制到/home目录
cp -r SySeVR/ /home
配置环境变量,使其能够全局访问
#打开文件
gedit ~/.bashrc
#在文件末尾加入一下语句
export PATH=$PATH:/home/SySeVR/neo4j/bin
#更新
source ~/.bashrc
#进入到/home/SySeVR/neo4j/bin目录赋予neo4j可执行权限
chmod 777 neo4j
#运行
neo4j start-no-wait
默认访问地址:http://localhost:7474,不出意外,可以在浏览器中访问了
8、ubuntu20.04版本下载ant 1.9.16版本
安装完之后可以使用 ant 命令来运行 Ant 构建任务,习惯下载安装了,这样出错的可能会更小一些
#使用以下命令下载 Ant 1.9.16 的二进制包:
wget https://downloads.apache.org//ant/binaries/apache-ant-1.9.16-bin.tar.gz
#解压下载的二进制包
tar -xf apache-ant-1.9.16-bin.tar.gz
#将解压后的文件夹移动到 /opt 目录
sudo mv apache-ant-1.9.16 /opt
#配置环境变量,使得系统能够找到 Ant
echo 'export ANT_HOME=/opt/apache-ant-1.9.16' >> ~/.bashrc
echo 'export PATH=$PATH:$ANT_HOME/bin' >> ~/.bashrc
#刷新当前终端会话中的环境变量
source ~/.bashrc
#验证 Ant 是否成功安装
ant -version

9、安装joern
导入环境变量
gedit ~/.bashrc
export PATH=$PATH:/home/SySeVR/joern-0.3.1
source ~/.bashrc
在joern-0.3.1文件下,输入"ant" ,进行构建

在joern-0.3.1文件下,输入"ant tools"

赋予joern可执行权限
chmod 777 joern

10、安装py2neo
cd /home/SySeVR/softdir/py2neo-py2neo-2.0
python2 setup.py install

11、安装python-joern-0.3.1
cd /home/SySeVR/softdir/python-joern-0.3.1
python2 setup.py install

12、ubuntu20.4安装python-igraph/0.7.1-post6
这一步是为了安装脚本执行的相关库
#安装了 build-essential 和 python3-dev 包
sudo apt update
sudo apt install build-essential python3-dev
#安装 python-igraph 0.7.1-post6 版本
pip install python-igraph==0.7.1.post6
#验证 python-igraph 是否成功安装,如果安装成功,你应该看到 python-igraph 的版本号
python -c "import igraph; print(igraph.__version__)"
在安装的过程中你可能会有如下错误,可能是由于缺少相应环境,如果不是这个报错的话,也有可能是下载链接断开。
1、time out→重新下载即可

2、Could not download and compile the C core of igraph

第二个报错的解决方法
#安装了 libxml2 和 libxml2-dev 包
sudo apt update
sudo apt install libxml2 libxml2-dev
#安装了 libcairo2 和 libcairo2-dev 包
sudo apt install libcairo2 libcairo2-dev
#安装了 libigraph0-dev 包
sudo apt install libigraph0-dev
#安装python2-dev ---> 这一步是为了解决其他错误fatal error: Python.h: No such file or directory
sudo apt install python2-dev
#安装完上面之后重新安装
pip install python-igraph==0.7.1.post6

12、环境测试
到这一步之后,环境基本上就搭建完成了,先使用测试代码进行测试
cd /home/SySeVR/joern-0.3.1
rm -rf .joernIndex/ #删除文件,至于为什么要删除,官方文档上面有说明
java -jar /home/SySeVR/joern-0.3.1/bin/joern.jar /home/SySeVR/joern-0.3.1/testCode/

复现的环境搭建完成!!!
5449

被折叠的 条评论
为什么被折叠?



