joern 基本使用介绍

写在前面

看完这个有了基础之后有需要的话可以参考我的另外一篇在python中批量生成CPG等图的文章

参考文章

JOERN后续可能会有更新,如果本文和官方文档有冲突的地方建议参考最新官方文档
joern官方文档
CSDN 破落之实用户的一些文章
破落之实
破落之实

Install

Prerequisites:Java 8 or higher
Link: https://openjdk.java.net/install/
JOERN运行环境需要Java8或者以上版本支持,需要提前安装。在有Java环境之后,最简单的办法就是安装预编译的joern-cli。预编译我理解的就是类似windows下的.exe文件,可以一键安装应用
注意Joern官方目前很活跃,在持续更新,有朋友补充了自己踩的坑:Joern只支持jdk11,不支持其他jdk,大家可以作为参考。博文里面的内容执行起来有问题的话建议大家去看一下最新版的Joern官方文档,博客里面有地址。
这里我直接安装的预编译版本的joern-cli

# Install pre-built binaries of the joern-cli 
git clone https://github.com/ShiftLeftSecurity/joern
cd joern
sudo ./joern-install.sh

在这里插入图片描述

启动joern

如下图,启动joern,进入命令行界面
在这里插入图片描述

生成CPG(常用)

使用importCode生成CPG(最常用,在命令行端解析c/java代码为属性图等)

进入目录/joern-cli/,执行下列指令下载示例程序x42

git clone git@github.com:ShiftLeftSecurity/x42.git
# 上面的git clone命令不好使的话,写下面的
git clone https://github.com/ShiftLeftSecurity/x42.git

在这里插入图片描述

使用importCode指令为程序x42 下的c代码文件创建一个代码属性图

注意:joern解析c语言文件的时候,导入到指令的是folder,而不是.c或者.cpp文件,这里的"./x42/c"内容如下:
在这里插入图片描述
从上图可以看出,./x42/c是一个包含4个.c文件的文件夹

importCode(inputPath="./x42/c", projectName="x42-c"
  • 17
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
Joern是一个开源的代码静态分析工具,可以帮助开发人员快速进行代码安全性评估和漏洞检测。在Eclipse中使用Joern,可以进一步方便地集成Joern的功能。 下面是在Eclipse中使用Joern的步骤: 1. 首先,需要安装Eclipse IDE(集成开发环境)和Joern插件。可以从Eclipse官网下载Eclipse IDE,并从Joern的官方网站获取Joern插件的jar文件。 2. 打开Eclipse IDE,选择“Help”菜单,然后点击“Eclipse Marketplace”。在搜索栏中输入“Joern”,点击搜索按钮。 3. 在搜索结果中,找到Joern插件,点击“Go”按钮进行安装。安装完成后,需要重启Eclipse IDE。 4. 安装完毕后,在Eclipse的菜单栏中出现“Joern”选项,点击它可以进入Joern插件界面。 5. 在Joern插件界面中,可以选择分析的代码项目。点击“Add”按钮,选择要分析的代码项目所在的文件夹,并设置分析的语言类型。 6. 设置完项目后,可以在Joern插件界面的“Analyse”部分选择不同的分析方法,如漏洞检测、规则匹配等。根据需要进行适当的配置。 7. 完成配置后,点击“Analyze”按钮开始分析代码。分析结果将在Eclipse的Console视图中显示出来。 8. 可以根据分析结果进行代码改进或漏洞修复。可以使用Joern插件中的其他功能和工具,如可视化图形展示、查询分析结果等。 通过以上步骤,就可以在Eclipse中使用Joern进行代码静态分析和漏洞检测。使用Joern可以帮助开发人员快速发现和修复代码中的安全问题,提高代码质量和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值