文章目录
对百度 OpenRASP 的 openrasp-v8 基础库 java 版本进行编译
1. 准备工作
- CentOS 7.2 版本虚拟机
- jdk-6u45-linux-x64-rpm.bin
下载地址 https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html
- cmake-3.17.2-Linux-x86_64.tar.gz
下载地址 https://cmake.org/files/v3.17/cmake-3.17.2-Linux-x86_64.tar.gz
- apache-maven-3.2.3-bin.tar.gz
下载地址 http://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
2. 配置环境
2.1 安装 jdk-6u45
给文件增加执行权限
chmod +x jdk-6u45-linux-x64-rpm.bin
执行安装
./jdk-6u45-linux-x64-rpm.bin
jdk 的安装目录: /usr/java/jdk1.6.0_45
2.2 安装 apache-maven-3.2.3
将 apache-maven-3.2.3-bin.zip 拷贝到 /opt/ 目录下
cp apache-maven-3.2.3-bin.tar.gz /opt/
解压文件
cd /opt/
tar -zxvf apache-maven-3.2.3-bin.tar.gz
2.3 安装 cmake-3.17.2
将 cmake-3.17.2-Linux-x86_64.tar.g 拷贝到 /tmp/ 目录下
cp cmake-3.17.2-Linux-x86_64.tar.gz /tmp/
解压文件
cd /tmp/
tar -zxvf cmake-3.17.2-Linux-x86_64.tar.gz
2.4 配置环境变量
编辑 /etc/profile 文件, 增加下面的环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_45
export JRE_HOME=/usr/java/jdk1.6.0_45
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/opt/apache-maven-3.2.3/bin:
/tmp/cmake-3.17.2-Linux-x86_64/bin
重新加载 /etc/profile 文件,让环境变量生效
source /etc/profile
2.5 安装 c++ 编译器和 cmake 生成器
为编译所依赖的 JNI 模块,需要安装 c++ 编译器和 cmake 生成器
yum install -y centos-release-scl
yum install -y devtoolset-7-gcc-c++
2.6 安装 git
yum -y install git
2.7 下载代码
git clone https://github.com/baidu-security/openrasp-v8.git
3. 编译代码生成 v8-1.0-SNAPSHOT.jar
进入编译模式
scl enable devtoolset-7 bash
# 进入 openrasp-v8 代码目录
cd openrasp-v8
# 编译 openrasp-v8
mkdir -p openrasp-v8/build64 && cd openrasp-v8/build64
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_LANGUAGES=java ..
make
# 复制动态链接库到 resources 目录
mkdir -p ../java/src/main/resources/natives/linux_64 && cp java/libopenrasp_v8_java.so $_
# 编译 v8-1.0-SNAPSHOT.jar,安装 v8-1.0-SNAPSHOT.jar 到 maven 本地仓库
cd ../java
mvn install
在 openrasp-v8/java/target/ 目录下能找到 v8-1.0-SNAPSHOT.jar