Newsgroup: it.comp.os.linux.iniziare
Titolo: decompilatori

So che non è questo il NG peri sviluppatori ma vorrei sapere se sotto linux
c'è qualche decompialtore in grado di riportare in C anche i binari di
windoze



Dubito seriamente che sia una cosa fattibile, a parte che anche se
fosse, poi ti ci vorrebbero 45 anni per capire il codice....
Ma poi per farci che ???
Davide

fosse, poi ti ci vorrebbero 45 anni per capire il codice....
Cioe', un giorno per iniziare a capirli, e 44 anni, 11 mesi e 30 giorni
per smettere di ridere?
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

Dai un'occhiata a biew 512, c'è sia per linux che per windows; 
non so come funziona nè ricordo dove l'ho visto .... ma mi pare 
fosse il tipo di cosa che cerchi.
-- 
Tae Kyon

 binari di windoze
Non esiste e non puo'  esistere. Piuttosto puoi disassemblare un binario
con ndisasm - the Netwide  Disassembler - 80x86 binary file disassembler
-. Se lo fai su binari commerciali e' reato.
-- 
Filippo Panessa
panessa at 
tin.it
UIN# 36800577

Dai un'occhiata a biew 512, c'è sia per linux che per windows; 
Magari l'avessi letto prima mi sarei risparmiato 2 giorni di
ricerche!!
http://biew.sourceforge.net
Del resto tonto come sono non mi ero mai accorto che esistesse il
comando ndisasm, credevo esistesse solo objdump -D che non funziona
sugli eseguibili di windows.
Secondo me hai fatto male a non scaricare e provare biew, perché  è un
piccolo capolavoro, mi piace molto l'interfaccia semplice eppure
elegante...
per quanto riguarda gli impieghi: chi ha il tempo e il coraggio di
mettersi a leggere qualche migliaio di righe in assembly ???
Ad ogni modo vorrei dare a Filippo il modo di farsi due risate o di
rabbrividire... non ho la capacità di giudicare questa tesi 
http://www.cs.uq.edu.au/groups/csm/dcc.html
(il sito non viene aggiornato dal 1998):
So che molti vorrebbero conoscere una Cristina come questa! :-)

fosse, poi ti ci vorrebbero 45 anni per capire il codice....
Io ne ho visti in rete per windows, quindi è sicuramente possibile, ma
il file binario non contiene le informazioni necessarie per risalire
al file originale.
Ho fatto qualche prova del tipo 
disassemblare qualcosa del genere (nota non badare a come è scritto,
sono un po' arrugginito sul c)
int main()
{
ciclo()
return 0
}
ciclo()
{
 int x,z;
z=10;
  for (x=1;x<=10;x++)
	{
               z=z-1; 
	   z++;
	  z-=1;  
              // fatto in maniera cosi' scema per tastare il polso al
	  //decompilatore	
	   fprint("%d",z);
	}
return z;
}
compilato - disassemblato e ricompilato il file ottenuto
tramite il disassemblatore il programma rimaneva funzionante,
ma il disassemblato era assolutamente incomprensibile e non manteneva
nemmeno lo stesso rapporto fra numero di funzioni dell'originale
dell'originale e numero di funzioni funzioni del disassemblato e la
quantità di codice scritta risultava maggiore.
Ad ogni modo per curiosità o provato a ripetere l'operazione sul nuovo
file binario così ottenuto e ho ottenuto un disassemblato ancora piu
lungo e incomprensibile che però funzionava facendo le stesse cose.
Scusa se non ricordo gli url di provenienza dei programmi ma li ho
cestinati subito. Preferendo al limite esaminare il binario tramite un
disassembler o un debugger.