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.