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 で保護された暗号化アプリケーションは高いセキュリティレベルを備えていると考えています。 ただし、クラックとクラック防止との戦いは常に改善され続けています。当社は、アプリケーションのセキュリティを継続的に強化するために、暗号化および保護ソリューションの改善を継続していきます。