pr pr

Javaクラスファイルシュリンクタとobfuscator。
今すぐダウンロード

pr pr ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • GPL
  • 価格:
  • FREE
  • 出版社名:
  • Eric Lafortune
  • 出版社のWebサイト:

pr pr タグ


pr pr 説明

Javaクラスファイルシュリンクおよびobfuscator。 Proguardは、無料のJavaクラスファイルシュリンク、オプティマイザ、およびobfuscatorです。 Proguardプロジェクトは、未使用のクラス、フィールド、メソッド、および属性を検出および削除できます。その後、バイトコードを最適化し、未使用の手順を削除できます。結果として得られるJARは、リバースエンジニアに短くなります。モアコンパクトなJARファイルはまた、より小さなストレージ要件、ネットワーク間のアプリケーションのより速いアプリケーションの転送、より速いロード、およびより小さなメモリフットプリントを意味します。他のJava ObFuscatorsと比較して、そのコンパクトなテンプレートの主な利点はおそらくそのコンパクトなテンプレートです。設定した構成いくつかの直感的なコマンドラインオプションまたは単純な設定ファイルが十分です。たとえば、次の設定オプションはJAR内のすべてのアプレットを保持します。 - -Keep Publicクラス* extends java.applet.appletは、利用可能なすべてのオプションを説明し、この強力な構成スタイルの例を迅速に示しています。複数のメガバイトのプログラムやライブラリを処理するのには秒数がかかります。結果セクションは、いくつかのアプリケーションの実際の数値を示します.Proguardは、オプションのグラフィカルユーザーインターフェイスを備えたコマンドラインツールです。また、AntおよびJ2MEワイヤレスツールキット用のプラグインが付属しています。 Proguardは、Javaクラスファイルシュリンク、オプティマイザ、およびobfuscatorです。縮小ステップは、未使用のクラス、フィールド、メソッド、および属性を検出して削除します。最適化ステップは、メソッドのバイトコードを分析して最適化します。難読化ステップでは、短い無意味な名前を使用して残りのクラス、フィールド、およびメソッドの名前を変更します。結果として生じるJARは、逆generを逆にするのに困難です.Proguardを使用して、アプリケーション内の未使用のフィールドとメソッドをリストしたり、クラスファイルの内部構造を印刷したりできます。 Proguardは通常、入力jar(または戦争、耳、Zips、またはDirectories)を読み取ります。それはそれからそれらを縮小、最適化し、そして難読化します。その後、結果を1つ以上の出力jar(またはWARS、EARS、ジップ、またはディレクトリ)に書き込みます。入力jarsには、オプションでリソースファイルが含まれています。 Proguardはすべてのクラスのリソースファイルを入力jarから出力jarにコピーします。それらの名前と内容はunchanged.proguardには、指定される入力jarのライブラリーJAR(またはWARS、EARS、ジップ、またはディレクトリ)が必要です。その後、クラスの階層やその他のクラスの依存関係を再構築できます。これは、適切な縮小、最適化、および難読化に必要です。ライブラリーjar自体は常に変わりません。あなたはまだあなたの最終的なアプリケーションのクラスパスにそれらを置くべきです。これらのエントリポイントは通常、メインメソッド、アプレット、ミッドレットなどを持つクラスです。*縮小ステップでは、Proguardはこれらのシードから始まり、どのクラスとクラスメンバーが使用されているかを再帰的に決定します。他のすべてのクラスとクラスのメンバーは破棄されています。 *最適化ステップでは、Proguardはさらにコードを最適化します。他の最適化の中でも、エントリポイントではないクラスおよび方法を最後にすることができ、いくつかの方法をインライン化することができる。 *難読化ステップでは、Proguardはエントリポイントではないクラスとクラスメンバの名前を変更します。このプロセス全体では、エントリポイントを保持しておくことは、それらがそれらの元の名前によって依然としてアクセスできるようにします。動的に作成または呼び出されたコードのクラスまたはクラスメンバーもエントリポイントとして指定されている必要があります。これらのケースを自動的に判断することは一般的に不可能ですが、いくつかのクラスやクラスメンバーが必要になるように見える場合は、Proguardはいくつかの提案を提供します。適切な結果を得るために、あなたは少なくとも、あなたがprocessing.ProGuardであることをコードに多少理解しておく必要がありハンドルにClass.forName(「工ass」)とSomeClass.classは自動的に構築ありません。参照されるクラスは、縮小段階で保存され、文字列の引数が正しく難読化フェーズで交換されています。変数の文字列引数で、可能な値(これらは、例えば、構成ファイルから読み取られるかもしれない).However、上述したように、ProGuardのは、「(工ass)Class.forNameの(変数).newInstanceのような構造に注意しますを決定するために、一般的には不可能です()」。これらは、クラスまたはインタフェース工ass及び/又はその実装が保存される必要があり得ることを示すかもしれません。あなたはそれに応じて設定を適応させることができます。このリリースの新機能: ・新しいPeephole最適化を追加しました。 ・新たな最適化構成のためのオプションを追加しました。 ・難読化されたクラスに対応する文字列定数を適応させるためのオプション-adaptClassStringsを追加しました。 ・指定されたパッケージ名を難読化させることからオプション--KeepPackagenamesを追加しました。 ・Option -KeepDirectoriesを追加して、出力jarに指定されたディレクトリエントリを保持します。 ・エクステンションオプション-dontnoteと-Dontwarnノートや警告の微細な構成のためのDontwarn。 ・スタックトレースを解析するための代替の正規表現を指定するためのオプション-Regexをretraceに追加しました。 ・難読化に基づくリソースファイルの名前変更を拡張しました。 ・最適化ステップでは、IBMのJSEのJVEのバグを回避する。 ・最適化ステップでのArrayIndexOutOfBoundSexceptionを回避します。 ・保存されていないアノテーションを持つ固定構成。 ・3値演算子を含む引数を持つスーパーコンストラクタの呼び出しの予備の予備査定。 ・到達不能な例外ハンドラの修正処理。 ・繰り返しの繰り返しのインライン化を修正。 ・JDK 1.4以前でコンパイルした大型試着ブロックに囲まれた最後のブロックの侵入を修正しました。 ・Complexの最適化が最後にブロックされ、JDK 1.4以前でコンパイルしました。 ・EncloseMethod属性が保持されている場合は、匿名クラス名の難読化を修正しました。 ・一般的な種類の内部クラス名の難読化を修正しました。 ・特殊文字を含むUTF-8文字列の固定復号化。 ・クラスのマージ時のデバッグ情報と注釈のコピーを修正しました。 ・未知の属性からの書き込みを修正しました。 ・分割回線でマニフェストファイルを更新しました。 ・ドキュメントと例を更新しました。


pr pr 関連ソフトウェア