Continua l'evoluzione del nuovo prodotto (rel. 3.0.7) con l'inserimento di nuovi eccezionali parametri di protezione:
--clickonce
--fakeint
--fakecall
--chr:[u] o [p]
Parametro: --clickonce:[template] per la generazione automatica del ClickOnce Manifest direttamente da Goliath .NET Obfuscator senza passare da VS e/o MAGE;
esempio di template:
; -------------------------------------------------------------------
; Goliath .NET Obfuscator rel. 3.0.7 - Enterprise Edition
; The Ultimate Secure Obfuscator for .NET Platform
; Copyright (c) 2003-2009 CANTELMO SOFTWARE
; -------------------------------------------------------------------
[Application]
ProductName=clickOnce_Test
[Signing]
Certificate=d:\mypfx\myKey.pfx
CertificatePwd=12345
[Publish] Language=neutral
FolderLocation=d:\myOutFolder\
Version=1.0.0.1
...
[cut]
Parametro: --fakeint per il camuffamento dei valori booleani e di tutti i valori interi;
Parametro: --fakecall:[Fw.Namespaces] per il camuffamento delle chiamate alle funzioni interne di un determinato namespaces del Framework;
esempio d'utilizzo: --fakecall:#d:\project\myprj.txt
con il simbolo '#' -come al solito- si indica di andare a leggere il contenuto di un file (es.: myprj.txt) che contiene, ad esempio:
System.Console
System.String
N.B.: non necessariamente devono essere inseriti tutti i namespaces!
risultati ottenibili in un progetto console:
sub 'originale':
Public Shared Sub Main()
Console.WriteLine(String.Concat("Hello", " World!"))
Console.ReadLine
End Sub
sub 'modificata' SENZA l'encryption delle stringhe:
Public Shared Sub a()
a.a(a.a("Hello", " World!"))
a.A
End Sub
sub 'modificata' CON l'encryption delle stringhe:
Public Shared Sub a()
a.a(a.a(a.a, a.A))
a.A
End Sub
Si evidenzia che -per far comprendere le tecniche utilizzate- in questo esempio NON è stato inserito il parametro di stop dei decompilers!
...ipotizziamo -in questo modo- che l'attacker abbia utilizzato un de-obfuscator automatico e si prepara a "spiare" il ns codice
Inoltre, sono state inserite 2 nuove opzioni al parametro --chr:
P=printable: renaming incrementale utilizzando 1 solo carattere stampabile (a, A, b, B, ect.)
U=unprintable: renaming incrementale utilizzando 1 solo carattere non-stampabile
stay tuned! 
Nessun commento trovato.