問題タブ [soot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
191 参照

java - メソッドごとに、ランタイム例外を含む、そのメソッドがスローする可能性のある一連の例外を計算する方法は?

メソッドごとに、メソッドがスローする可能性のある例外のセットを計算するプロシージャ内分析を実装しようとしています。これには、throw ステートメントによって明示的にスローされるランタイム例外が含まれます。

これまでのところ、SOOT で開始する方法について完全に迷っています。誰でも最初のヒントを教えてもらえますか?

0 投票する
3 に答える
56 参照

java - 古いフレームワークを使用してクラスにタイムアウト動作を追加する

いくつかの静的分析に SOOT フレームワークを使用しています。ただし、分析に数時間かかる場合があり、タイムアウトを設定して分析を停止し、別のプログラムで続行したい場合があります。

そのような動作を実現するために、スレッドで分析を実行します。

!! buildCallgraph() メソッドは SOOT によって提供されており、変更する機会がありません。!!

現在、スレッドを停止する方法がわかりません。buildCallgraph() はスレッドが中断されたかどうかを決してチェックしないため、Interrupt は機能しません。Thread.stop() は使用しないでください。

では、スレッドを終了する方法を知っている人はいますか?

よろしくロバート

0 投票する
1 に答える
1183 参照

java - Eclipse で Soot の Java クラス ファイルを動的にロードする

私は現在、2 つの制御フロー グラフを比較するプログラムに取り組んでいます (グラフは Soot で生成されます)。これらのグラフは 2 つの異なるクラスに属します。したがって、それぞれに 1 つの cfg です。

現在、クラスをロードするために以下を使用しています。

プロジェクトを右クリックしてクラス Calc.java および Calc2.java を含むフォルダーを追加すると、これが機能します | Java ビルド パス | 外部クラス フォルダを追加| フォルダーを選択します。

残念ながら、これはまさに私が望んでいるものではありません。

  1. 2 つのクラスは、互いに異なるバージョンであるため、同じ名前になります。つまり、一方のクラスがもう一方のクラスの更新バージョンです。
  2. プログラムの実行時に、cfg が作成されるように、ユーザーがファイルを選択できるようにしたいと考えています。したがって、クラスを追加するために上記の手順を省略し、実行時にクラスを追加する方法が必要です。

重要な注意点として、Soot は JAR ファイルおよび Soot のクラスパスにあるディレクトリからのみファイルをロードします。これら2つの問題を解決する方法を知っている人はいますか?

0 投票する
1 に答える
411 参照

soot - すすの値ボックスの変数の値を出力する方法は?

これは、値ボックスから値を出力できない関連するコード フラグメントです。何が問題なのかわかりますか?

0 投票する
1 に答える
2243 参照

java - Soot を使用した Android アプリケーションの分析

基本的にローカル変数の定義をトレースするために、Android ソース コードを分析するコードをいくつか書いています。コードで Soot を使用して、Android ソース コードから情報を抽出し、クラスの高レベル コール グラフを作成したいと考えています。仕事は、アプリケーションのJavaソースコードです..

http://www.bodden.de/2013/01/08/soot-android-instrumentation/で参照されている Android jar が必要かどうかはわかり ません。作業には Dalvik バイトコードの読み取りまたは書き込みが含まれていないためです。とにかくjarをダウンロードしてください!!-

誰かが私にこれについてのガイダンスを与えることができるかどうか疑問に思っています.sootのメーリングリストを読んで、提供された解決策を試しましたが、インポートされたライブラリとRクラスのために問題がありませんでした.[私は基本的なこんにちはでそれをテストしています.世界のソースコード]

Android静的分析のための他のツールへの参照を含め、どんな助けも高く評価されます..

どうもありがとう、、

soot.Main 呼び出しに使用される引数は次のとおりです。

結果の一部:

0 投票する
3 に答える
1120 参照

java - Soot のビルド時に「taskdef クラス JFlex.anttask.JFlexTask が見つかりません」

すすを作ろうとしています。

を使用して JastAddExtensions のソース コードをダウンロードし、使用して Sootsvn co https://svn.sable.mcgill.ca/abc/trunk/JastAddExtensions/のコードをチェックアウトしました。

  • git remote add soot https://github.com/Sable/soot.git
  • git pull soot develop.

次に、Ant を使用して Soot をビルドしようとしたところ、次のエラー メッセージが表示されました。

このエラーを修正するにはどうすればよいですか? JastAddExtensions\SootJastAddJ現在のバージョンの Soot と互換性のあるバージョンの のコードはどこでダウンロードできますか?

0 投票する
2 に答える
586 参照

java - 静的分析で変数の値を推定する方法は?

Soot のビルトイン Reaching-Definition 分析に基づいて、これを行うプログラムを書きたいと思います。今、私はこれが正しいアプローチなのだろうかと思っていますか?私が検索したところ、誰もこの方向に興味を持っていないようです.

助言がありますか?