Macca96 (Normal User)
Rookie
Messaggi: 26
Iscritto: 08/01/2013
|
ciao a tutti... questa è la seconda volta che scrivo su questo forum, e vi propondo questa domanda:
supponendo che io abbia un programma di cui non ne ho i sorgenti, potrei disassemblarlo e riassemvlarlo su un'altro sistema operativo?
esempio:
io scrivo un programma in C che fa le somme...
facendo finta di non avere i sorgenti, ho bisogno di portarlo su Ubuntu...
posso disassemblarlo con un qualsiasi disassembler, e riassemblarlo su ubuntu senza modificare il codice?
grazie in anticipo per le risposte.
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Ciao!
Il modo più semplice di esportare programmi su più sistemi operativi, è quello di utilizzare linguaggi interpretati (Python, Ruby ecc.).
Il c è un linguaggio standard, quindi basta ricompilare i sorgenti nei diversi sistemi operativi, non c' è bisogno di riscrivere il codice.
|
|
Saik (Normal User)
Pro
Messaggi: 117
Iscritto: 07/08/2011
|
Ovviamente devi avere i sorgenti per ricompilarlo senza quelli penso sia impossibile farlo
|
|
Macca96 (Normal User)
Rookie
Messaggi: 26
Iscritto: 08/01/2013
|
grazie per le risposte... ma il mio non era un prblema, era soltanto una curiosità.... so che si può esportare un programma da windows a ubuntu se posseggo i sorgenti o se è un programma interpretato... ma supponendo che io acquisti un software, e di conseguenza non ne ho i sorgenti, e non è scritto con un linguaggio interpretato, posso disassemblarlo dal pc windows e riassemblarlo sul pc ubuntu?
spero di esser stato chiaro
|
|
Macca96 (Normal User)
Rookie
Messaggi: 26
Iscritto: 08/01/2013
|
grazie per le risposte... ma il mio non era un prblema, era soltanto una curiosità.... so che si può esportare un programma da windows a ubuntu se posseggo i sorgenti o se è un programma interpretato... ma supponendo che io acquisti un software, e di conseguenza non ne ho i sorgenti, e non è scritto con un linguaggio interpretato, posso disassemblarlo dal pc windows e riassemblarlo sul pc ubuntu?
spero di esser stato chiaro
|
|
Macca96 (Normal User)
Rookie
Messaggi: 26
Iscritto: 08/01/2013
|
una volta che ho ottenuto dal pc windows i sorgenti in assembly tramite il disassembler, posso spostarli sul pc ubuntu per usare un assembler e ottenere un eseguibile nativo ubuntu?
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
Si, certamente si può fare tutto.
Tieni però presente che l' operazione non è semplice, ne legale.
|
|
Macca96 (Normal User)
Rookie
Messaggi: 26
Iscritto: 08/01/2013
|
finalmente ciò che volevo sentirmi dire... è possibile! però cos intendi che non è semplice? bisogna modificare il codice assembly?
p.s.
che fosse illegale lo immaginavo... ma credo che con programmi con licenze particolari non dovrebbero esserci problemi
|
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
Un programma fatto per Windows sfrutterà parecchie librerie e syscalls di Windows, per cui non è possibile un trasferimento "diretto".
Bisogna avere uno strato software su Linux che implementi quelle funzioni. Si dia il caso che questo strato di software esista e si chiama Wine http://www.winehq.org/
Wine implementa parecchie funzionalità di Windows e ti consente di far girare su Linux molte applicazioni, senza necessità di disassemblare nulla, basta avere Wine installato e correttamente configurato e sarà sufficiente fare doppio clic su un file .exe per eseguirlo.
Internamente, Wine funziona intercettando le chiamate a libreria e rimpiazzandole con la propria implementazione.
|
|