如何运行Joern中的script

这篇博客接上一篇的内容,总结一下怎么运行Joern自带的一些示例性的script。

按照这里的介绍:https://joern.io/docs/shell/,当我们在Joern的shell中用loadCpg("cpg.bin")这种方法加载Code Property Graph后,可以直接运行诸如:

cpg.runScript("general/pdg.sc")

这样的命令,来加载并运行脚本,例如上面这个可以生成Program Dependency Graph。但是当我尝试这样运行的时候,发现会报类似这样的错:

java.nio.file.NoSuchFileException: Script [/tmp/sl_scripts8771297126732976873/scripts/general/pdg.sc] was not found.

这个似乎也很好理解啊,我也没在哪看见过有pdg.sc这个文件的。

仔细看了看,发现了原因,如果按照这里的介绍:https://joern.io/docs/installing/,从binary直接安装,就压根不会有scripts文件夹,需要选择:Building from Source Code这种方式,按照网页中的步骤安装好以后,可以看到出现了一个scripts文件夹。

但如果再次运行上面的命令,还是报一样的错。试了试改成绝对路径,例如:

cpg.runScript("/home/yu/Projects/JoernSource/joern/scripts/graph/pdg.sc")

大家注意改成自己对应的目录。发现这样就可以正常运行这个script了,尝试了一下其他的script,发现都可以正常运行。(另外需要指出的一个小问题是,官网教程中的路径基本都是错的,例如要生成CFG,官网说要运行:cpg.runScript("general/cfgToDot.sc"),但实际上这个cfgToDot.sc是在这个目录scripts/graph下,不得不说,这些官网的文档,质量都太差了。)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值