3

既存のプロジェクト (メタサーキュラー インタープリター) で Soot を使用する方法を理解しようとしています。具体的には、Soot を使用して Java バイトコードを、解釈可能な便利な 3 アドレス コード (Jimple または Shimple) に変換したいと考えています。後でもっとやりたいことがあるかもしれませんが、今のところは変換だけが必要です。

この翻訳を実行する最良の方法は何ですか? すすは膨大な数の機能を備えた巨大なプロジェクトのように見えますが、実際に必要なのは 1 つのメソッドだけです

compileClass: Byte[] -> ShimpleClass

できる限り純粋なものが望ましいです (つまり、セットアップやティアダウンは不要で、すべてがそのメソッド内にパッケージ化されています)。私は何時間も javadoc/papers/presentations を調べてきましたが、それらのほとんどはコマンド ライン ツールまたは Eclipse プラグインとしての使用に焦点を当てているようです。どこから始めるべきかについて、誰かが私にいくつかの指針を与えることができますか?

4

1 に答える 1

0

これは、おそらく Soot メーリング リストで最も簡単に回答できます。

Soot はファイル システムから .class ファイルをロードするように設定されていますが、ByteArrayInputStream からも何かをロードするように指示するのはそれほど難しくありません。私はそれがあなたの場合に役立つはずだと思います。

于 2013-04-30T13:54:36.440 に答える