Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Applicazioni compilate

Come decompilare file Java, Flash e .Net per poter indagare il codice delle applicazioni che vi sono contenute
Come decompilare file Java, Flash e .Net per poter indagare il codice delle applicazioni che vi sono contenute
Link copiato negli appunti

In questa lezione, non voglio addentrarmi troppo nei meandri di shell code e vari ed eventuali overflow, preferisco focalizzare l'attenzione su componenti compilati quali possono essere applet Java, oggetti flash e su componenti .Net (per esempio i business object).

Sappiamo che alcuni siti, per aumentare il gradimento da parte dell'utente , fanno uso di componenti per la creazione di Ria . Questi oggetti a volte diventano veri e propri piccoli sistemi per gestire le più disparate funzionalità che non sarebbero altrimenti disponibili in un sito web "normale". Mi riferisco a sistemi di gestione remota, a giochi on line e a volte anche a sistemi di autenticazione. Per farla breve: tutto ciò che viene visualizzato sul nostro browser è caricato fisicamente sulla nostra macchina.

Pensiamo a un sito che vuole caricare un filmato flash o un applet Java. Ovviamente clicchiamo e lo carichiamo. Da quel momento abbiamo il nostro oggettino tra i file temporanei (o lo scarichiamo seguendone l'url) . Sarà abbastanza semplice decompilare tale componente per verificarne e testarne il codice.

Fate attenzione: la decompilazione di un componente software è un'operazione illegale se non svolta in accordo con l'autore dello stesso.

Per la decompilazione di  file Flash (che ha estensione .swf), posso consigliare "Flare". È sufficiente scaricarlo e installarlo. Dopo un riavvio (sempre consigliato) cliccando col tasto destro su un file flash compilato, la prima voce è Decompila. Il file decompilato viene salvato nella stessa cartella del file .flv e aperto con un text editor visualizza il sorgente.

Per i file Java, l'utility a riga di comando "jad.exe" si rivela un valido strumento. È sufficiente inserire il file java compilato e il file jad.exe nella stessa cartella e da riga di comando lanciare l'eseguibile così: jad.exe nomefiledadecompilare. Verrà creato un file jad che aperto con un text editor rivelerà il sorgente. Jad inoltre permette l'inserimento di diversi parametri.

Come ultimo esempio (anche se nel web raramente riuscirete ad adoperarlo) vediamo anche un decompilatore per file .Net. È un progetto gratuito di nome "Reflector". Semplice e intuitivo totalmente a interfaccia grafica, permette di risalire ai sorgenti da un file eseguibile e può tornare utile nei rarissimi casi in cui riuscissimo a ottenere i business object di un'applicazione web in Asp.net.

Una volta in possesso del sorgente di un applet o di un filmato flash, possiamo studiare il comportamento dello stesso ed eventualmente individuare vettori di attacco attraverso (per esempio) input provenienti dal nostro client o interazioni con il web server.


Ti consigliamo anche