经过网友的提醒,我发现现在的Joern确实可以处理Java源码了,这里简单介绍一下,在一台新的Ubuntu 22.04系统中怎么使用Joern处理Java源码,生成PDG或者其他graph。
首先需要安装JDK 11,具体可以参考我之前的博客:Ubuntu 20.04安装JDK 11的过程_蛐蛐蛐的博客-优快云博客_ubuntu安装openjdk11
其次,实际上使用Joern的最简单方法,就是下载下来直接用:
在GitHub这里下载:https://github.com/joernio/joern/releases,并且选择最新的
joern-cli.zip,下载解压后就可以直接使用了,例如我可以分析这样一个文件:
./joern-parse CleanMethods/apache-hbase-28839.java
其他的方法都和Joern处理C或者C++的时候一样,感兴趣的朋友可以看看我之前的博客:怎样使用Joern生成Program Dependence Graph并和源码中的行号对应起来_蛐蛐蛐的博客-优快云博客_joern生成图
今天就简单总结这么多。 最后列一下joern目前可以处理的编程语言类型:
Supported languages#
Name Based on Maturity C/C++ Fuzzy Parser High C/C++ Eclipse CDT High x86/x64 Ghidra Medium JVM Soot Medium Javascript GraalVM Medium Javasrc javaparser Medium Kotlin IntelliJ PSI Medium Python Custom Medium