Soot Java字节码框架:如何将单个类文件编译为Jimple / Shimple

时间:2013-04-29 23:24:14

标签: java compiler-construction code-analysis bytecode soot

我正在试图弄清楚如何在现有项目中使用Soot(一个metacircular解释器)。具体来说,我想使用Soot将java字节码转换为一个方便的3地址代码(Jimple或Shimple),我可以解释。我可能想稍后做更多的事情,但是现在我只想要转换。

执行此翻译的最佳方式是什么?烟灰似乎是一个巨大的功能,但我真的只需要一个方法

compileClass: Byte[] -> ShimpleClass

优选尽可能纯(即不需要设置/拆卸,所有包装在该方法中)。我花了好几个小时来讨论javadoc / papers / presentation,但是大部分内容似乎都专注于使用命令行工具或eclipse插件。谁能给我一些关于从哪里开始的指示?

1 个答案:

答案 0 :(得分:0)

这在Soot邮件列表上可能是最容易回答的。

将Soot设置为从文件系统加载.class文件,但指示它从ByteArrayInputStream加载某些内容应该不难。我想这应该可以帮助你。