我正在试图弄清楚如何在现有项目中使用Soot(一个metacircular解释器)。具体来说,我想使用Soot将java字节码转换为一个方便的3地址代码(Jimple或Shimple),我可以解释。我可能想稍后做更多的事情,但是现在我只想要转换。
执行此翻译的最佳方式是什么?烟灰似乎是一个巨大的功能,但我真的只需要一个方法
compileClass: Byte[] -> ShimpleClass
优选尽可能纯(即不需要设置/拆卸,所有包装在该方法中)。我花了好几个小时来讨论javadoc / papers / presentation,但是大部分内容似乎都专注于使用命令行工具或eclipse插件。谁能给我一些关于从哪里开始的指示?
答案 0 :(得分:0)
这在Soot邮件列表上可能是最容易回答的。
将Soot设置为从文件系统加载.class文件,但指示它从ByteArrayInputStream加载某些内容应该不难。我想这应该可以帮助你。