3

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

执行此翻译的最佳方式是什么?Soot 似乎是一个庞大的项目,具有大量功能,但我真的只需要一个方法

compileClass: Byte[] -> ShimpleClass

最好尽可能纯净(即不需要设置/拆卸,所有内容都打包在该方法中)。我花了几个小时浏览 javadoc/papers/presentations,但它们中的大多数似乎都专注于用作命令行工具或 eclipse 插件。谁能给我一些关于从哪里开始的指示?

4

1 回答 1

0

这可能是 Soot 邮件列表中最容易回答的问题。

Soot 设置为从文件系统加载 .class 文件,但指示它也从 ByteArrayInputStream 加载某些内容应该不难。我想这应该对你的情况有所帮助。

于 2013-04-30T13:54:36.440 回答