コンパイルされた Java クラスを逆コンパイルから保護する
Java コードをリバース エンジニアリングから保護することは、特に Java Decompiler (JAD) のようなツールを使用する場合、困難な作業になる可能性があります。 ) クラス構造と機密データを簡単に明らかにすることができます。逆コンパイルを阻止するための一般的な戦略の 1 つはコードの難読化です。これは、クラス、メソッド、フィールドの名前を変更することでコードの可読性を変更します。ただし、ご指摘のように、これだけではパスワードなどの重要な情報を保護するには十分ではない可能性があります。
高度な難読化技術
一部の難読化ツールは、単純な保護を超えた、より包括的な保護を提供します。名前を変更します。たとえば、Zelix KlassMaster はコード フローを難読化し、従うのを非常に困難にする可能性があります。さらに、文字列定数や未使用のコードがスクランブル化されて理解をさらに妨げる可能性があります。
暗号化された JAR ファイルとカスタム クラスローダー
別のアプローチには、JAR ファイルの暗号化とカスタム クラスローダーのデプロイが含まれます。復号化を担当します。このアプローチでは、復号化にネイティブ ランタイム ライブラリを利用することで、保護層を追加できます。
ネイティブ コンパイル
セキュリティを最大限に高めるために、ネイティブの事前 ( GCC や Excelsior JET などの AOT) コンパイラーを使用できます。これらのツールは、Java コードをプラットフォーム固有のネイティブ バイナリに直接コンパイルし、Java バイトコードを完全に排除します。ただし、ネイティブ コードにコンパイルするには、ターゲット システムごとにプラットフォーム固有の開発とコンパイルが必要です。
セキュリティ対策の制限
絶対確実なセキュリティ対策はないことを認識することが重要です。 。十分なスキルと粘り強さがあれば、決心した個人は最終的に難読化と暗号化の方法を回避できるようになります。目標は、コードの機能を維持しながら、機密情報へのアクセスを可能な限り困難にすることです。
以上がJava コードを逆コンパイルから本当に保護できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。