
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Dicembre 2003 ml@sikurezza.org Soggetto: RE: Obfuscation di codice Jsp e applet Java Mittente: nkanter Data: 4 Dec 2003 20:57:32 -0000
~ ~ Ciao a tutti, ~ qualcuno sa indicarmi qualche documento, linea guida, sito etc che tratti il problema dell'offuscazione del codice? Un offuscatore non impedisce la decompilazione del codice, bensà rende di difficile lettura/comprensione il codice ottenuto. In sostanza vengono cambiati i nomi delle variabili, alcune procedure vengono modificate nella forma, possono essere cambiati i nomi di alcune classi, possono esserne aggiunte alcune innestate..insomma, un pacchetto completo di stratagemmi utili per rendere il codice decisamente pià complesso e "insensato" agli occhi dell' umano programmatore. In rete sono disponibili alcuni offuscatori sotto licenza GNU/GPL, personalmente ho provato il primo dei due con risultati soddisfacenti http://www.retrologic.com/retroguard-main.html http://proguard.sourceforge.net/ Ce ne sono anche(come à semplice immaginare) molti commerciali, di cui non ho esperienza diretta (eccetto che su Zelix che imho reputo pessimo). Di Dash0 (costosetto) ho sentito buoni pareri. Riporto alcuni link, ma credo che google ne possa suggerire svariati altri. http://www.preemptive.com/ (Dash0) http://www.zelix.com/klassmaster/index.html http://www.leesw.com/ http://jdevelop.com/best-java-obfuscator.html http://www.codingart.com/codeshield.html Alcuni ambienti di programmazione (JBuilder per esempio, http://www.borland.it/) hanno un offuscatore integrato, utilizzabile in fase di compilazione in maniera opzionale. ~ In particolare il problema che devo cercare di risolvere quello di rendere offuscato del codice Jsp (il server su cui ~ girer il jsp container da considerarsi non trusted e quindi l'admin deve non aver la possibilit di leggere il codice ~ delle pagine Jsp) e delle applet Java. ~ Per queste ultime credo che il problema sia pi semplice, per le prime, a naso, mi sembra un po' pi complesso il problema. Esegui l'offuscatore sui tuoi class/jar, ovviamente non ridenominando il nome di classi e metodi che richiami direttamente per lanciare le applicazioni. Ps: non avendo una vasta esperienza in materia (non ho mai provato a reversare in maniera risoluta un applicativo di dimensioni medio/grosse e, da seguace di Stallman, dove non costretto diversamente per richieste del cliente, non mi sono mai impegnato a fondo nella protezione del sorgente) non so quanto un decompilatore, unito ad un tool che ricrei il disegno UML del software, possa realmente rendere non intellegibile il codice sorgente. Sicuramente per applicazioni medio/piccole credo che il tempo utile a rendere il codice offuscato utilizzabile sia >= a quello necessario per riscriverlo con le proprie mani, quindi da questo punto di vista l'offuscatore puà essere utile e adempiere allo socpo. nkanter ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005