Loading article…
ProGuard は、 Javaコードを縮小、最適化、難読化するオープンソースのコマンドラインツールです。ベルギーのソフトウェアエンジニア、エリック・ラフォーチュンによって作成され、後に彼が共同設立したモバイルアプリケーションセキュリティ企業 Guardsquare の基盤となりました。[ 5 ]バイトコードを最適化し、未使用の命令を検出して削除することができます。[ 6 ] ProGuard はフリーソフトウェアであり、 GNU General Public Licenseバージョン 2の下で配布されています。 [ 4 ]
ProGuardはAndroid SDKの一部として配布され、リリースモードでアプリケーションをビルドする際に実行されました。[ 7 ]
ProGuardは、JavaおよびAndroidプログラムを難読化するために、クラス、フィールド、メソッドに意味のない名前を使用します(難読化によるセキュリティの実装)。これにより、最終的なアプリケーションのリバースエンジニアリングがより困難になります。 [ 8 ]
ProGuardは、コンパイルされたバイトコードから未使用の命令を削除するだけでなく、制御フロー解析、データフロー解析、部分評価、静的単一代入、グローバル値番号付け、活性解析などの技術を使用して最適化します。[ 8 ]
ProGuard は、多くの種類の未使用および重複したコードを削除し、200 を超えるピーホール最適化を実行し、変数割り当てを削減し、定数と短いメソッドをインライン化し、末尾再帰呼び出しを簡素化し、ログコードを削除するなど、さまざまなことができます。[ 8 ]