Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Assembly offuscate e protezione del codice
lunedì 23 luglio 2012 - 10.01
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 3.5
|
Visual Studio 2010
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
lun 23 lug 2012 - 10:01
Salve a tutti,
invio questo post perchè vorrei pareri e consigli su come proteggere i propri assembly compilati.
Allora, tanto per iniziare vorrei capire se da un assembly (dll) compilato e non offuscato posso risalire al codice sorgente, e non intendo solo vedere al suo interno ma ricavarne i sorgenti in modo che possano poi essere riutilizzati in un eventuale progetto. Nello specifico io sviluppo applicazioni web con VisualStudio. Forse si può fare con Net Reflector di Red Gate??
A questo punto se la risposta è si allora da quanto ho capito conviene utilizzare uno strumento di offuscamento del codice, cosa che ho già provato a fare ma non sono molto convinto del risultato, nel senso che anche dopo averlo offuscato riesco a vedere ad aprire le classi e vederne il contenuto con Net Reflector, si forse qualche cosa è offscato ma in minima parte.
avete suggerimenti in merito? software possibilmente free o se a pagamento possibilmente non molto caro...
cosa usate voi per offuscare il codice che producete?
Andrea Restucci - Web Developer
ratum99
Profilo
| Junior Member
121
messaggi | Data Invio:
lun 23 lug 2012 - 10:30
>Salve a tutti,
Ciao
>invio questo post perchè vorrei pareri e consigli su come proteggere
>i propri assembly compilati.
>Allora, tanto per iniziare vorrei capire se da un assembly (dll)
>compilato e non offuscato posso risalire al codice sorgente,
>e non intendo solo vedere al suo interno ma ricavarne i sorgenti
>in modo che possano poi essere riutilizzati in un eventuale progetto.
risposta semplice, si.
>Nello specifico io sviluppo applicazioni web con VisualStudio.
>Forse si può fare con Net Reflector di Red Gate??
purtroppo non conosco net reflector
>A questo punto se la risposta è si allora da quanto ho capito
>conviene utilizzare uno strumento di offuscamento del codice,
>cosa che ho già provato a fare ma non sono molto convinto del
>risultato, nel senso che anche dopo averlo offuscato riesco a
>vedere ad aprire le classi e vederne il contenuto con Net Reflector,
>si forse qualche cosa è offscato ma in minima parte.
>avete suggerimenti in merito? software possibilmente free o se
>a pagamento possibilmente non molto caro...
>cosa usate voi per offuscare il codice che producete?
>
>Andrea Restucci - Web Developer
Io utilizzo Dotfuscator CE, che integra perfettamente con visual studio.
c'è una parte free più semplice e una a pagamento più completa.
l'offuscamento è sempre una cosa delicata, per ogni nuovo offuscatore c'è un deoffuscatore...
quindi se qualcuno vuole fortissimamente decompilare o sbloccare il tuo software non c'è offuscatore che tenga.
una domanda migliore può essere: c'è qualcuno che lo vorrà fare?
p.s. dimenticavo.. non ho mai provato la vera efficacia di Dotfuscator CE provando a deoffuscarlo, però ho letto che funziona :-)
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
lun 23 lug 2012 - 14:09
intanto grazie per la risposta, ti chiedo alcuni chiarimenti:
>risposta semplice, si.
come posso procedere per risalire al codice sorgente dato un assembly non offuscato ?
>Io utilizzo Dotfuscator CE, che integra perfettamente con visual studio.
ho provato ad utilizzarlo senza effettuare cambiamenti alle varie impostazioni ma purtroppo nella finestra di output mi sono comparsi messaggi che mi avvertivano che non era possibile offuscare i generics (e altre cose), forse a causa della versione, dovrò provare con quella a pagamento.
Ho provato anche Eazfuscator lo conosci?
>una domanda migliore può essere: c'è qualcuno che lo vorrà fare?
be forse la risposta può arrivare troppo tardi, quando ormai il tuo codice è già copiato, è vero che non esiste sistema infallibile però almeno provarci...
Andrea Restucci - Web Developer
ratum99
Profilo
| Junior Member
121
messaggi | Data Invio:
lun 23 lug 2012 - 14:50
Forse c'è da fare una prefazione...
1) i linguaggi .net sono interpretati, quindi molto più facili da decompilare per vari motivi che non sto a citare.
2) l'offuscatore anche più potente, non fa altro che eliminare spazi vari, commenti e rinominare le funzioni e variabili con nomi casuali e magari rimescolandoli.
Di più non può fare per non alterare il programma.
3) una decompilazione di un programma offuscato (anche "solo" con nomi casuali di funzioni e variabili) è molto difficile da capire, quindi molto tempo per essere copiato.
Es. funzione a() con parametri d,f,g che viene chiamata dalla funzione r().
>intanto grazie per la risposta, ti chiedo alcuni chiarimenti:
>
>
>>risposta semplice, si.
>
>come posso procedere per risalire al codice sorgente dato un
>assembly non offuscato ?
non saprei non mai avuto il tempo di provarci in prima persona
>
>>Io utilizzo Dotfuscator CE, che integra perfettamente con visual studio.
>
>ho provato ad utilizzarlo senza effettuare cambiamenti alle varie
>impostazioni ma purtroppo nella finestra di output mi sono comparsi
>messaggi che mi avvertivano che non era possibile offuscare i
>generics (e altre cose), forse a causa della versione, dovrò
>provare con quella a pagamento.
Non è un problema se non ti offusca i generics, il resto lo fa.
>Ho provato anche Eazfuscator lo conosci?
>
ne ho sentito parlare, ma mai provato.
>>una domanda migliore può essere: c'è qualcuno che lo vorrà fare?
>
>be forse la risposta può arrivare troppo tardi, quando ormai
>il tuo codice è già copiato, è vero che non esiste sistema infallibile
>però almeno provarci...
>
come già detto, e alla luce del punto 3), la domanda non è se si riesce a decompilare una programma, ma perchè lo dovrebbero fare?
se scrivo un programma in 3 mesi, lo offusco anche semplicemente e una persona che me lo vuole copiare ci mette 2 mesi per capirlo e modificarlo, non lo farà.... lo riscrive e fa prima :-)
>
>Andrea Restucci - Web Developer
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !