Deepwukong项目joern安装使用教程

 在经过与该黑神话悟空鏖战长达20天后,终于配置完成joern。

该项目使用老版本的joern,用来解析c和c++语言,构建程序的程序依赖图PDG。该工具生成的是nodes.csv和edges.csv 文件。

其中nodes.csv是这样的:主要包含节点的一些属性。

edges.csv是这样的:主要包含边的类型以及起始和结束位置。

下面让我们来进入正题,如何配置joern:

joern 是直接在 README.md 中给出的地址下载的源码dwk_preprocess/joern_slicer/joern at main · ives-nx/dwk_preprocess · GitHub

在将joern的源码下载后,复制到wukong项目的根目录下。然后将根目录下的./config/dwk.yaml 中的joern_path 修改:

修改完路径后,进入dwk_preprocess中的joern目录中:运行build文件:

sh build.sh

如果报错,那么就是gradle版本问题:
安装指令:
apt update
apt install gradle

之后在运行:
sh build.sh
然后:安装缺失依赖项:
apt-get install graphviz libgraphviz-dev

环境:
pip install pygraphviz 安装

修改文件权限:
chmod +x /root/autodl-tmp/dwk_preprocess/joern_slicer/joern/joern-parse(你的文件路径)
后面运行代码即可。

至此,如果一切顺利的话,那么你将成功解析项目中data下面的c和cpp文件。最后祝你复现顺利!!!

### Joern在云服务器上的安装指南 要在云服务器上成功安装使用Joern工具,需遵循一系列步骤以确保所有依赖项都已正确配置。以下是详细的说明: #### 1. Java Development Kit (JDK) 安装 为了支持Joern的正常运行,必须先安装Java Development Kit (JDK),推荐版本为1.7或更高版本[^1]。可以通过以下命令验证当前系统的JDK版本: ```bash java -version ``` 如果未检测到合适的JDK版本,则可以按照官方文档指导进行安装。 #### 2. 下载预配置的Joern安装包 建议直接下载经过预先配置的Joern安装包以简化后续操作流程。此安装包包含了必要的组件以及依赖库。可以从如下链接获取该资源(注意:请确认网络连接允许访问外部存储服务): - **链接**: https://pan.baidu.com/s/1S9Ed0JA0hLISQ6y8P-wkgA - **提取码**: mwp2 将上述文件上传至目标云服务器,并解压到指定目录下。 #### 3. 配置环境变量 完成安装包部署后,需要设置相应的环境变量以便于全局调用相关命令。主要包括`JAVA_HOME`路径指向所安装的JDK根目录位置: ```bash export JAVA_HOME=/path/to/jdk export PATH=$PATH:$JAVA_HOME/bin ``` 以上修改可加入`.bashrc`或者`.zshrc`等初始化脚本实现持久化效果。 #### 4. 启动Joern CLI与Server 依据官方文档描述,启动Joern的核心功能模块主要分为两部分——即joern-cli和joern-server[^3]。其中前者负责执行具体的代码解析任务;后者则提供图形化的查询接口供用户进一步探索生成的数据结构。 针对CLI模式下的基本启动方法如下所示: ```bash cd /path/to/joern/ ./joern-cli.sh start ``` 此时应该能够看到提示信息表明服务已经开始监听端口等待请求输入。 另外,在实际应用过程中可能还需要额外传递一些自定义参数调整行为逻辑,比如指定源程序所在地址及其输出结果保存地点等等[^4]。例如下面的例子展示了如何利用内置工具链处理一份简单的C语言样本工程: ```bash .\c2cpg.bat C:\source_code_folder --output D:\target_cpg_file.bin ``` #### 5. 测试整体工作流 最后一步就是验证整个体系能否顺利运作起来。选取一段典型的C/C++片段作为测试对象导入系统当中去观察最终产出物是否符合预期标准[^2]。 --- ### 总结 综上所述,通过合理规划各个阶段的任务安排再加上充分准备前期条件之后就能顺利完成基于云端架构之上搭建起一套完整的静态分析平台解决方案啦!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值