GOLIATH .NET OBFUSCATOR V3.X - PARTE II: IL RENAMING DEI SIMBOLI - Software Development
Italiano | English

FORUM
::  Menù Principale - Sito Web
del Geom. Marcello Cantelmo :: Un'Azienda. Molte Soluzioni !
 
:: In Primo Piano
< settembre 2010 >
L
M
M
G
V
S
D
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
             

Profilo Facebook di Marcello Cantelmo
Cerca per parola chiave
 


Titolo
In che modo Proteggi il tuo software?

 Chiave Hardware
 Chiave Software
 Nessuna Protezione




07/09/2010 @ 17.36.51
script eseguito in 31 ms


Valid XHTML 1.0 / CSS
\\ Home Page : Articolo
GOLIATH .NET OBFUSCATOR V3.X - PARTE II: IL RENAMING DEI SIMBOLI
Di Marcello Cantelmo (del 27/08/2008 @ 15:33:14, in Goliath .NET Obfuscator, linkato 490 volte)

In Goliath .NET Obfuscator v3.x è stato potenziato il renaming dei simboli. E' possibile, infatti, rinominare anche i simboli pubblici (classi, metodi, proprietà, field, eventi, interface, override, ect.). : - o

Questa feature che è inutile per la protezione di una singola dll (creazione di un componente) risulta essere abbastanza efficace nel camuffare le chiamate alle librerie referenziate in progetti più complessi.

Potendo, ora, alterare i simboli pubblici è stato possibile implementare anche la protezione contemporanea di più assembly referenziati! Di conseguenza, anche eventuali de-obfuscator, devono possedere questa caretteristica. La sola "analisi statica" sui singoli assembly è pressochè inutile. : - D

ESEMPIO: solo renaming di un singolo assembly:

goliath -r d:\folder\assembly.exe

ESEMPIO: solo renaming di un assembly con una libreria referenziata:

goliath -r d:\folder\assembly.exe --ref:d:\folder\assembly.dll

ESEMPIO: solo renaming di un assembly con due librerie referenziate:

goliath -r d:\folder\assembly.exe --ref:d:\folder\assembly1.dll,d:\folder\assembly1.dll

se invece ci sono numerose references è possibile definirle in un file esterno (ad esempio: references.txt)

d:\folder\assembly1.dll
d:\folder\assembly2.dll
d:\folder\assembly3.dll
...

e richiamate con:

goliath -r d:\folder\assembly.exe --ref:#d:\folder\references.txt : - D

L'overloading dei simboli è automatico! Il range di simboli (standard) utilizzati per il renaming è "limitato" alla sola tipologia alfanumerica: 0123456789abcdef.

All'utente finale, però, viene data, ampia possibilità di intervento. E' possibile infatti:

- definire il numero dei caratteri del testo finale (opzione --char:{number})
- variare il singolo carattere (opzione --tbl:{})

goliath -r d:\folder\assembly.exe --ref:d:\folder\#references.txt --tbl:a=?,b== --char:4

E' possibile generare, chiaramente, anche simboli non stampabili semplicemente impostando - nel parametro --tbl:{} - la definizione \{num}:

goliath -r d:\folder\assembly.exe --ref:d:\folder\#references.txt --tbl:a=\1,b=\2,3=\3,a=\4,b=\5 --char:4

La fase di esclusione dei simboli dal renaming avviene -esclusivamente da codice- utilizzando un attributo già presente nel .NET Framework sin dalla vers. 2.0:

[Obfuscation(Exclude=true)]
public event EventHandler test1;

[STAThread, Obfuscation(Exclude=true)]
internal static int Main([Obfuscation(Exclude=true)] string[] args)
{
}

dopo la fase di renaming -per non far capire alcuna logica progettuale- questo attributo viene automaticamente eliminato! ; - )

Ma come detto più volte: rinominare i simboli non significa offuscare il codice! Nelle prossime presentazioni si darà ampio risalto all'offuscazione del codice e all'encryption dei metodi : - o

stay tuned!

Articolo Articolo  Storico Storico Stampa Stampa
 
Nessun commento trovato.

Anti-Spam: digita i numeri CAPTCHA
Testo (max 1000 caratteri)
Nome
e-Mail / Link


Disclaimer
L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.


. . : :   U N D E R   C O N S T R U C T I O N   : : . .
Home Page:Servizi:Soluzioni:Clienti:Prodotti:Azienda

: : Use OpenOffice.org :
Copyright © 2003-2009 "Cantelmo Software" del Geom. Marcello Cantelmo. Tutti i Diritti sono Riservati • Note Legali
Document made with Nvu
Microsoftâ„¢, Windowsâ„¢, .NETâ„¢, and .NET Frameworkâ„¢ sono marchi di Microsoft Corporation. Tutti gli altri marchi appartengono ai legittimi proprietari.

powered by dBlog CMS ® Open Source