Come funziona Protector4J?

Problemi della soluzione attuale di protezione del codice Java

Prima di comprendere come funziona Protector4J, impariamo innanzitutto i problemi esistenti in altre soluzioni di protezione del codice Java.

Obfuscamento del codice

A causa dell'elevata natura semantica del bytecode JVM, è molto facile da analizzare e leggere. Con il debug dinamico, la logica di esecuzione può essere facilmente analizzata, quindi l'offuscamento non è una soluzione di protezione affidabile.

Per ulteriori informazioni, si prega di fare riferimento all'articolo:https://protector4j.com/articles/the-issues-of-code-obfuscation/

Crittografia del file di classe

A causa dell'esistenza del meccanismo di collegamento JVM, tutto il cosiddetto codice crittografato che non è stato separato dal normale JRE può essere facilmente ottenuto tramite gli strumenti di collegamento. Pertanto, questa è la soluzione di protezione più inefficace.

Per ulteriori informazioni, si prega di fare riferimento all'articolo:https://protector4j.com/articles/the-issues-of-class-encryption/

Protezione VMP

La protezione della virtualizzazione è la forma più sicura di protezione del codice, ma a causa del forte impatto sulle prestazioni, può essere applicata solo al codice critico in un programma. Altro codice rimane ancora a rischio di esposizione. Prendendo di mira altre parti del codice, il cracker può comunque ottenere informazioni funzionali del codice virtualizzato.

Si prega di fare riferimento all'articolo per i dettagli specifici: https://protector4j.com/articles/the-issues-of-vm-protection/

Compilazione AOT

La configurazione e la compilazione della compilazione AOT sono molto difficili e la probabilità di errore di compilazione è elevata. Anche se la compilazione ha esito positivo, la logica del codice viene solo trasformata da rappresentazione bytecode a rappresentazione in codice macchina e la sua logica intrinseca esiste ancora senza alcuna protezione speciale. Se si riesce a comprenderne il meccanismo di compilazione ed esecuzione, il codice leggibile può ancora essere decodificato.

Per ulteriori informazioni, si prega di fare riferimento all'articolo:https://protector4j.com/articles/the-issues-of-aot-protection/

Come funziona Protector4J?

Abbiamo definito un formato di pacchetto di compressione privato: JARX

Per proteggere il codice Java, abbiamo creato un formato di documento compresso privato chiamato JARX e lo abbiamo integrato nel runtime JVM. Un file JAR elaborato da Protector4J viene trasformato nel formato JARX.

Abbiamo apportato personalizzazioni e modifiche profonde alla JVM

Attraverso uno studio approfondito della JVM, abbiamo apportato profonde personalizzazioni e modifiche ad essa. Abbiamo rimosso tutti i meccanismi aggiuntivi e applicato molti miglioramenti e ottimizzazioni a livello di sicurezza binaria. Ciò impedisce ai cracker di utilizzare metodi esistenti per esportare le informazioni sulla classe. Riteniamo che con la forza attuale, l'applicazione crittografata protetta da Protector4J abbia un elevato livello di sicurezza. Tuttavia, la battaglia tra cracking e anti-cracking è sempre in costante miglioramento. Continueremo a migliorare le nostre soluzioni di crittografia e protezione per migliorare costantemente la sicurezza dell'applicazione.