mercoledì 14 gennaio 2009

Breve risposta ad un quesito su come deoffuscare un codice java offuscato

Ho ricevuto questa richiesta in un commento ad un vecchio post (http://edetools.blogspot.com/2007/08/la-decodifica-automatica-di-javascript_23.html) dove illustravo un semplicissimo tool scritto in Autoit che permetteva di deoffuscare semplici javascripts.

-----------------------------------------------------------------------------------------
Denise ha detto...

Ciao, qualcuno puo' aiutarmi a decodificare questa pagina:

http://global.frooition.com/ebay/js/template_script.php


Ho provato a seguire i passaggi ma senza successo anche perche' la formula per ricavare la chiave sembra + complessa.

Grazie

14 gennaio 2009 1.12
-------------------------------------------------------------------------------------------

Si tratta in realta' di un semplice script che come unica particolarita' presenta il fatto di essere costituito da due parti di codice offuscato come vediamo dal sorgente

E' una tecnica abbastanza comune utilizzare, come si vede, una prima parte di codice (che ho indicato in giallo) che contiene un codice ( per cosi' dire la 'chiave') che ci servira' per deoffuscare la seconda parte (in rosso) che e' poi il risultato finale che vogliamo ottenere.

Premesso che esistono diversi metodi per deoffuscare un codice javascript offuscato ecco ad esempio come si puo' procedere.

La prima parte (in giallo) come si vede e' possibile deoffuscarla anche utilizzando il tool che descrivevo nel post

Infatti se passiamo al tool la parte indicata in giallo


abbiamo la decodifica del codice che serve per decodificare la seconda porzione di java offuscato.

A questo punto, stabilito che il tool non potra' esserci di aiuto per decodificare completamente lo script, sara' meglio rivolgerci ad un programma che si dimostra veramente utile nella decodifica di javascript sia semplici che complessi e precisamente Malzilla http://malzilla.sourceforge.net/ (sul sito di malzilla esistono anche alcuni tutorials sul suo utilizzo)

Infatti se passiamo a Malzilla il codice java offuscato (possiamo passare tutto il codice ossia prima e seconda porzione) questo e' il risultato


dove vediamo che anche questa volta viene restituita solo la prima parte decodificata che contiene per cosi' dire “la chiave” ossia il codice che ci permettera' di decodificare la seconda parte.


Con Malzilla, contrariamente al semplice tool, pero' possiamo ora sostituire la prima parte di codice che era presente nello script offuscato con la parte ora decodificata (in giallo) e rieseguire Malzilla

ottenendo questa volta e finalmente il codice che era stato offuscato all'interno dello script esaminato.

Edgar

Nessun commento: