Wie funktioniert Protector4J?

Probleme der aktuellen Java-Code-Schutzlösungen

Bevor wir verstehen, wie Protector4J funktioniert, lernen wir zunächst die Probleme kennen, die bei anderen Java-Code-Schutzlösungen bestehen.

Code-Obfuskation

Aufgrund der hohen semantischen Natur von JVM-Bytecode ist dieser sehr leicht zu analysieren und zu lesen. Durch dynamisches Debugging kann seine Ausführungslogik leicht analysiert werden, daher ist Obfuskation keine zuverlässige Schutzlösung.

Weitere Informationen finden Sie im Artikel: https://protector4j.com/de/articles/the-issues-of-code-obfuscation/

Klassendatei-Verschlüsselung

Aufgrund des vorhandenen JVM-Attachment-Mechanismus kann jeglicher sogenannte verschlüsselte Code, der nicht von der normalen JRE abgekoppelt wurde, leicht über Attachment-Tools ausgelesen werden. Daher ist dies die unwirksamste Schutzlösung.

Weitere Informationen finden Sie im Artikel: https://protector4j.com/de/articles/the-issues-of-class-encryption/

VMP-Schutz

Virtualisierungsschutz ist die sicherste Form des Code-Schutzes, aber aufgrund seiner starken Auswirkung auf die Leistung kann er nur auf kritischen Code in einem Programm angewendet werden. Anderer Code bleibt weiterhin dem Risiko der Offenlegung ausgesetzt. Durch die Analyse anderer Codeteile kann der Cracker dennoch funktionale Informationen des virtualisierten Codes erhalten.

Weitere Details finden Sie im Artikel: https://protector4j.com/de/articles/the-issues-of-vm-protection/

AOT-Kompilierung

Die Konfiguration und Kompilierung von AOT ist sehr schwierig, und es besteht eine hohe Wahrscheinlichkeit eines Kompilierungsfehlers. Selbst wenn die Kompilierung erfolgreich ist, wird die Codelogik lediglich von der Bytecode-Darstellung in die Maschinencode-Darstellung umgewandelt, und ihre inhärente Logik besteht ohne besonderen Schutz weiterhin. Wenn man ihren Kompilierungs- und Ausführungsmechanismus verstehen kann, kann immer noch lesbarer Code zurückentwickelt werden.

Weitere Informationen finden Sie im Artikel: https://protector4j.com/de/articles/the-issues-of-aot-protection/

Wie funktioniert Protector4J?

Wir haben ein privates Komprimierungspaketformat definiert: JARX

Um Java-Code zu schützen, haben wir ein privates komprimiertes Dokumentformat namens JARX erstellt und es in die JVM-Laufzeitumgebung integriert. Eine von Protector4J verarbeitete JAR-Datei wird in das JARX-Format umgewandelt.

Wir haben tiefgreifende Anpassungen und Änderungen an der JVM vorgenommen

Durch eingehende Untersuchung der JVM haben wir tiefgreifende Anpassungen und Änderungen daran vorgenommen. Wir haben alle zusätzlichen Mechanismen entfernt und auf der Ebene der binären Sicherheit viele Härtungs- und Optimierungsmaßnahmen angewandt. Dies verhindert, dass Cracker bestehende Methoden verwenden, um Ihre Klasseninformationen zu exportieren. Wir glauben, dass mit der aktuellen Stärke die von Protector4J geschützte verschlüsselte Anwendung ein hohes Sicherheitsniveau aufweist. Der Kampf zwischen Knacken und Anti-Knacken ist jedoch immer eine ständige Verbesserung. Wir werden unsere Verschlüsselungs- und Schutzlösungen kontinuierlich verbessern, um die Sicherheit der Anwendung stetig zu erhöhen.