Protector4Jはどのように機能しますか?
現在のJavaコード保護ソリューションの問題点
Protector4J がどのように機能するかを理解する前に、まず他の Java コード保護ソリューションに存在する問題について学びましょう。
コードの難読化
JVM バイトコードはセマンティックな性質を持っているため、分析と読み取りが非常に簡単です。動的デバッグを使用すると、その実行ロジックを簡単に分析できるため、難読化は信頼できる保護ソリューションではありません。
詳細については、記事を参照してください。https://protector4j.com/articles/the-issues-of-code-obfuscation/
クラスファイルの暗号化
JVM 添付メカニズムの存在により、通常の JRE から分離されていない、いわゆる暗号化されたコードはすべて、添付ツールを介して簡単に取得できます。したがって、これは最も効果のない保護ソリューションです。
詳細については、記事を参照してください。https://protector4j.com/articles/the-issues-of-class-encryption/
VMP保護
仮想化保護はコード保護の最も安全な形式ですが、パフォーマンスに重大な影響を与えるため、プログラム内の重要なコードにのみ適用できます。他のコードも依然として漏洩の危険にさらされています。コードの他の部分をターゲットにすることで、クラッカーは仮想化されたコードの機能情報を取得できます。
具体的な詳細については、記事を参照してください。https://protector4j.com/articles/the-issues-of-vm-protection/
AOTコンパイル
AOT コンパイルの設定とコンパイルは非常に難しく、コンパイルが失敗する可能性が高くなります。コンパイルが成功した場合でも、コード ロジックはバイトコード表現からマシン コード表現に変換されるだけで、その固有のロジックは特別な保護なしで依然として存在します。コンパイルと実行のメカニズムを理解できれば、可読コードをリバース エンジニアリングすることができます。
詳細については、記事を参照してください。https://protector4j.com/articles/the-issues-of-aot-protection/
Protector4Jはどのように機能しますか?
私たちは、プライベートな圧縮パッケージ形式JARXを定義しました
Java コードを保護するために、JARX と呼ばれるプライベート圧縮ドキュメント形式を作成し、それを JVM ランタイムに統合しました。 Protector4J で処理された JAR ファイルは JARX 形式に変換されます。
私たちはJVMに深いカスタマイズと修正を加えました
JVM を徹底的に研究し、徹底的なカスタマイズと変更を加えました。追加のメカニズムをすべて削除し、バイナリ セキュリティ レベルで多くの強化と最適化を適用しました。 これにより、クラッカーが既存のメソッドを使用してクラス情報をエクスポートするのを防ぎます。現在の強度であれば、Protector4J で保護された暗号化アプリケーションは高いセキュリティレベルを備えていると考えています。 ただし、クラックとクラック防止との戦いは常に改善され続けています。当社は、アプリケーションのセキュリティを継続的に強化するために、暗号化および保護ソリューションの改善を継続していきます。