Java Binary Enhancement Tool

ソフトウェアのスクリーンショット:
Java Binary Enhancement Tool
ソフトウェアの詳細:
バージョン: 3 R1
日付のアップロード: 3 Jun 15
開発者: Andrew Reisse
ライセンス: 無料
人気: 26

Rating: nan/5 (Total Votes: 0)

Javaのバイナリ拡張ツール(JBET)は、一般的なJavaプログラムの解析と操作ツールです。既存のクラスファイルは、解体再組み立て、またはJBET APIを介してプログラム的に編集することができます。 JBETは、また一から新しいJavaクラスファイルを作成することができます。 JBETは、ユーザーが構造化された方法で、簡単にクラスを編集することができ、Javaのバイナリ(.classファイル)ファイルのすべての内容の便利な内部表現を使用しています。
JBETは、自動化されたソフトウェアの難読化を検討するためにOASISとアクティブネットワークプログラム(契約番号N66001-00-C-8602)の下でDARPA自己防御モバイルエージェントプロジェクトの一環として開発されました。
Java言語があるため、クラスファイルに存在するタイプの大量の情報が提供するバイナリ編集ツールを構築する(相対)容易で、このプロジェクトのために選択しました。私たちの2つのレポート、難読化技術評価報告書、及び難読化レポートは、ダウンロードエリアから入手可能です。開発された難読化ツールは、このリリースの一部ではありません。
JBETは、Java標準ライブラリに追加のセキュリティチェックを追加するためのDARPA / AFRL存続Serverプロジェクト(契約番号F30602-00-C-0183)で使用されました。 (Jav​​aのセキュリティマネージャのAPIには、ファイルが開いた後にアクセスの継続承認など多くの望ましいセキュリティチェックをサポートしていません。)
JBETは、プラグイン可能なセキュリティポリシーを呼び出すスタブを使用してJavaの標準ライブラリ内のネイティブメソッドの参照を置換しました。 Jpolicyと呼ばれるこのツールは、このウェブサイトでもダウンロードできます。 Jpolicyは、現時点では非常に不完全であるが、それ自体をJavaセキュリティでの作業や標準ライブラリを変更したものと面白いかもしれ。
JBETで使用されるJavaクラス·ファイルの内部表現は、それが簡単にプログラマがJavaのバイナリコード変換を記述できるようにすることintentedされます。 Javaクラスファイルの各要素は、対応する内部データ構造を有する:CLASSINFOを全体クラスのために、METHODINFO方法のため、のFieldInfoフィールドの、Snippit個々の命令のためのコード·ブロック、および命令のために。 Snippitと命令は、有効なJavaプログラムの自動生成を可能にする、Javaのオペコードの構文とセマンティクスを理解しています。 Java互換クラスの検証も含まれています。
一部のコード変換は、Java命令を操作することによって、直接プログラミングすることは困難です。これらの変換のために、コードの非循環有向グラフ(DAG)表現が可能です。 DAG表現では、各基本ブロックは、入力と出力ノードのセットと、対応するDAGを有します。グラフ内のエッジは、「プロデューサー」(例えば、定数として、または計算の結果)のノード(例えば、メソッド呼び出しやその他の計算など)を「ユーザー」ノードを接続します。方法は、基本ブロックに分割され、制御フローは、基本ブロック·レベルで格納される(可能なJavaは唯一のジャンプターゲットを固定しているため)
それは、以前のバージョンのJavaのクラスファイルを操作できるが、JBETは、実行には、Java 1.4の仮想マシンが必要です。パッケージングと指定した環境を構築するには、CygwinのとLinuxとWindowsをサポートしています。しかし、ビルドプロセスは単純で、他のプラットフォーム上で手動で実行することができます。 Perlのは、回帰テストのために必要とされます。
Jpolicyは、構築するためにJava 1.4仮想マシンを必要とするのCygwinでのLinuxまたはWindows NT / XPのいずれか。 GCCは、Windows(Cygwinの付属品)に構築するために必要とされます。ランタイムシステムは、LinuxまたはWindows NT / XP上で動作している、(唯一のSunのJVMを持つ)は、Java 1.3または1.4のいずれかであることができます。 Windowsの9XとWindows 2000は、同様に動作することがありますが、テストされていません。
インストール
1. JDK 1.4.1をインストールしてください。
2.設定CLASSPATHにJDK1.4.1 / JRE / libに/ rt.jarの
3. CDのSRC;作ります
4.それが機能しなかった場合は、メイクファイルを調べます。 Javaやjavacは、パスにないかもしれません。
5.「jarファイルを作る "実行"のjava -jar jbet.jar」で使用できるjarファイルを構築するには。
あなたはperlのインストールされている場合6.は、「テストを行う」とのテストを実行します。
必要に応じて、「リジェネを行い、テストをする」を実行します。
あなたのパス内のどこかにjbet3 / binに/ JBETからのシンボリックリンクを作成します。
使用法
JBETは、クラス名のJNI形式を使用して、JNIの型とメソッドの記述子。この構文の概要については、「JBETヘルプ構文 'を使用します。 SunのJVM仕様も役立っているかもしれません。
クラス解体を見るには、「JBET印刷 'を使用します。あなたがソースを持っているクラスを分解してみてください、とデバッグ情報(-g)で作成されました。「JBET -P <クラスパス>印刷<クラス名> '。 SunのJVMの仕様では、命令の参照を持っています。

同じようなソフトウェア

Alienbuild
Alienbuild

3 Jun 15

GNU Gjdoc
GNU Gjdoc

3 Jun 15

dis6502
dis6502

3 Jun 15

へのコメント Java Binary Enhancement Tool

コメントが見つかりません
コメントを追加
画像をオンにする!