我试图弄清楚如何在现有项目(元循环解释器)中使用 Soot。具体来说,我想使用 Soot 将 java 字节码转换为我可以解释的方便的 3 地址代码(Jimple 或 Shimple)。我以后可能想做更多的事情,但现在我只想要转换。
执行此翻译的最佳方式是什么?Soot 似乎是一个庞大的项目,具有大量功能,但我真的只需要一个方法
compileClass: Byte[] -> ShimpleClass
最好尽可能纯净(即不需要设置/拆卸,所有内容都打包在该方法中)。我花了几个小时浏览 javadoc/papers/presentations,但它们中的大多数似乎都专注于用作命令行工具或 eclipse 插件。谁能给我一些关于从哪里开始的指示?