Come funziona Protector4J?

Problemi dell'attuale soluzione di protezione del codice Java

Prima di capire come funziona Protector4J, analizziamo i problemi che si presentano in altre soluzioni di protezione del codice Java.

Offuscamento del codice

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

Per maggiori informazioni consultare l'articolo: https://protector4j.com/articles/the-issues-of-code-obfuscation/

Crittografia dei file di classe

Grazie all'esistenza del meccanismo di collegamento JVM, tutto il cosiddetto codice crittografato che non è stato scollegato dal normale JRE può essere facilmente recuperato tramite strumenti di collegamento. Pertanto, questa è la soluzione di protezione meno efficace.

Per maggiori informazioni, consultare l'articolo: https://protector4j.com/articles/the-issues-of-class-encryption/

Protezione VMP

La protezione tramite virtualizzazione è la forma più sicura di protezione del codice, ma a causa del suo grave impatto sulle prestazioni, può essere applicata solo al codice critico di un programma. Anche altre parti di codice rimangono a rischio di esposizione. Prendendo di mira altre parti del codice, il cracker può comunque ottenere informazioni funzionali sul codice virtualizzato.

Per maggiori dettagli fare riferimento all'articolo: https://protector4j.com/articles/the-issues-of-vm-protection/

Compilazione AOT

La configurazione e la compilazione della compilazione AOT sono molto complesse e la probabilità di fallimento è elevata. Anche se la compilazione ha esito positivo, la logica del codice viene solo trasformata da rappresentazione in bytecode a rappresentazione in codice macchina, e la sua logica intrinseca continua a esistere senza alcuna protezione speciale. Se si riesce a comprendere il meccanismo di compilazione ed esecuzione, il codice leggibile può comunque essere sottoposto a reverse engineering.

Per maggiori informazioni, consultare l'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 profonde personalizzazioni e modifiche alla JVM

Attraverso uno studio approfondito della JVM, abbiamo apportato profonde personalizzazioni e modifiche. Abbiamo rimosso tutti i meccanismi aggiuntivi e applicato numerose misure di rafforzamento e ottimizzazione a livello di sicurezza binaria. Questo impedisce ai cracker di utilizzare i metodi esistenti per esportare le informazioni di classe. Riteniamo che, con l'attuale potenza, l'applicazione crittografata protetta da Protector4J offra un elevato livello di sicurezza. Tuttavia, la lotta tra cracking e anti-cracking è in costante miglioramento. Continueremo a migliorare le nostre soluzioni di crittografia e protezione per aumentare costantemente la sicurezza dell'applicazione.