2009-07-23 6 views
7

Vorrei crittografare o offuscare il mio file WAR in modo che il reverse engineering richiederà un piccolo sforzo in più. Esiste un tale strumento o plugin Maven che crittograferà un file WAR e il suo contenuto?Encrypting War files

Inoltre, una volta crittografato WAR, come verrà distribuita l'applicazione Web in quel punto? Se il server Web esplode WAR, è possibile crittografare ogni jar e risorsa, in che modo verrà modificato il comportamento di avvio per decodificare i jar e le risorse nidificati?

Grazie, Walter

+1

Perché vuoi farlo? Se qualcuno è interessato al tuo codice, sarà comunque in grado di ricostruirlo, purché acceda al binario (in questo caso una guerra). In Java è particolarmente semplice, ma è anche possibile per C. Interessati al tuo codice possono essere solo sviluppatori, con poco sforzo ottengono le conoscenze necessarie per questo. Quindi lo sforzo extra per offuscare il tuo codice potrebbe scoraggiare solo pochi hacker. Non riesco a vedere il beneficio. – Mnementh

+0

+1 per i commenti di @Mnementh. Qual è l'obiettivo qui? Stai distribuendo la tua guerra in un contenitore di applicazioni web (ad es. Tomcat), lato sever. I client Web non potranno accedervi. –

+0

Non sono preoccupato per le persone che visualizzano il sito in firefox o qualsiasi altra cosa, ma altre persone sul sistema o lo sviluppo di un sito Web per un client e l'utilizzo dei loro server, posso o non voglio che abbiano facilmente accesso al codice sorgente . –

risposta

2

Zelix KlassMaster possono essere eseguiti da Ant. Sembra che maneggi anche lo WARs.

Non posso parlarti dello spiegamento della GUERRA ma qualsiasi offuscatore che fa sì che un archivio non funzioni dopo che è stato offuscato non vale molto.

3

DashO da PreEmptive Solutions nasconderà anche i file WAR.

0

Ho lo stesso problema qui. L'ho provato con Yguard 2.4, Proguard 4.7, Zelix 5.4.6, Allatori 4.0, JavaGuard 1.0, Sandmark 3.40. Tutti quelli non mi stanno dando un'occhiata che la mia applicazione web offuscata non funzionerebbe. Possono nascondere i bytecode anche se possono offuscare la mia domanda. Questo è tutto.

p.s: Il server delle applicazioni (server container tomcat, apache, glassfish, weblogic, websphere, ecc.) Non può nascondere il nostro codice agli hacker. nella mia esperienza, tutti hanno una cartella temporanea che contiene oggetti attualmente in uso. In questa cartella possiamo vedere il codice.

Infine direi che se usiamo Java, facciamo l'opensource. : P

0

Ho avuto una soluzione a questo problema. Funziona così:

Criptare un file di guerra. Come ZIP e crittografarlo, quindi non può essere letto senza la password.

Configurare un sistema o fornire solo la password a un servizio di hosting. Una volta che tu e un cliente avete elaborato le vostre condizioni, date la password al servizio di hosting. Decodificano il file di guerra e lo installano. Il client vede solo il sito/api. Il client non ha mai l'accesso ai file jar.

Eventuali commenti?