Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Recuperare source code da file *.o

    Salve a tutti,
    ho perso il file sorgente di un programma che avevo fatto in c++, ma ho ancora il file eseguibile e il file .o (credo che sia un file oggetto, correggetemi se sbaglio).
    Ho provato a decompilare l'eseguibile con un programma apposta, ma il prodotto di questa operazione è stato il linguaggio Assembly che non è di alcun aiuto.
    Quindi ora ripongo tutte le mie speranze nel file .o...
    mi sapreste dire se c'è un modo per invertire il processo, e me lo potete spiegare?
    ringrazio in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non potrai avere il sorgente, almeno tutti i nomi dei simboli (costanti, variabili, classi, funzioni ...) sono persi ...

    Dal codice assembly puoi risalire a come e cosa fa il programma e, se lo hai scritto tu, non dovrebbe essere difficoltoso.

    Capirai che l'argomento è comunque "scivoloso" in quanto non sappiamo nulla di questo tuo eseguibile.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Capirai che l'argomento è comunque "scivoloso" in quanto non sappiamo nulla di questo tuo eseguibile.
    Io e un mio amico abbiamo fatto una sfida a chi faceva il gioco migliore su console in c++ (non siamo dei grandi programmatori). Il programma era appena iniziato e non ho perso molti dati, ma devo rifare la schermata di avvio e mi secca un po'.
    Se lo vuoi vedere lo puoi scaricare da qui: http://www.ilberga18.altervista.org/Snake.exe

    Quote Originariamente inviata da oregon Visualizza il messaggio
    Dal codice assembly puoi risalire a come e cosa fa il programma e, se lo hai scritto tu, non dovrebbe essere difficoltoso.
    Il problema non è che fa operazioni complicate, è soltanto lungo da riscrivere tutto... Pazienza vorrà dire che ricomincerò.

    Grazie lo stesso

  4. #4
    Esistono dei decompilatori, ma il loro output di rado è effettivamente compilabile (oltre al fatto che appunto, o è stato compilato con informazioni di debug o tutti i nomi degli identificativi vanno persi); di fatto possono essere utili sostanzialmente per ricostruire il funzionamento di algoritmi. Se la roba è poca e l'hai scritta tu fai sicuramente prima a riscriverla.

    La vicenda comunque serve ad insegnarti l'uso di sistemi di source control, ora che c'è git co. e relativi hosting gratuiti online non c'è veramente nessuna scusa per non farne uso.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.