PDA

Visualizza la versione completa : [C++] inglobare file binario nell'eseguibile


Riodo
11-07-2011, 16:45
Salve a tutti, avrei bisogno di un piccolo aiutino.
Ho creato un programmino che funziona su Slackware ed esegue alcune funzioni su di un file binario.Io vorrei far in modo che il mio programma una volta messo in esecuzione non debba richiamare il percoso del file per svolgere le sue funzioni ma abbia il file caricato in se stesso.
Cioè,quando io digito da shell "./programma" ,poichè nello script ho indicato il percorso completo del file, ovviamente il programma esegue le sue funzione su quel preciso file. Io vorrei invece far in modo che il programma abbia caricato in se stesso il file su cui far le operazioni in modo tale che una volta eseguito non si debba andar riferire al il percoso dove si trova il file.
Questa cosa si può fare???? :shock: :shock: :shock: :shock: :shock:
Spero di essere stato chiaro e che possiate aiutarmi.......
grazie anticipatamente

oregon
11-07-2011, 16:49
No ... non sei stato chiaro.

Puoi descrivere meglio il problema con il codice di cui parli ...

Riodo
11-07-2011, 17:01
allora io ho creato un file binario che è in sostanza l'unione di 2 file binari, uno relativo ad una applicazione e l'altro relativo alla sua firma digitale.
dopichè ho creato un'altro programma che esegue la verifica della firma digitale, quindi prende il file binario, lo scompatta nei 2 file binari originari e fa la verifica della firma.
Ovviamente nel codice del programma di verifica,io passo una stringa che contiene il percoso dove si trova questo file binario. Io vorrei che anzichè andar a prendere il file relativo al percorso, il programma abbia al suo interno il file binario,in modo tale che una volta compilato,avendo il file binario inglobato nell'eseguibile stesso, vada a effettuare la verifica della firma....

oregon
11-07-2011, 17:09
Originariamente inviato da Riodo
allora io ho creato un file binario che è in sostanza l'unione di 2 file binari, uno relativo ad una applicazione e l'altro relativo alla sua firma digitale.
dopichè ho creato un'altro programma che esegue la verifica della firma digitale, quindi prende il file binario, lo scompatta nei 2 file binari originari e fa la verifica della firma.

Già questo è più chiaro ...


Ovviamente nel codice del programma di verifica,io passo una stringa che contiene il percoso dove si trova questo file binario. Io vorrei che anzichè andar a prendere il file relativo al percorso, il programma abbia al suo interno il file binario,in modo tale che una volta compilato,avendo il file binario inglobato nell'eseguibile stesso, vada a effettuare la verifica della firma....

Presumo tu lavori con Linux ... con quale compilatore?

Riodo
11-07-2011, 17:10
kdevelop.....

oregon
11-07-2011, 17:23
Originariamente inviato da Riodo
kdevelop.....

KDevelop è l'IDE ... immagino che il compilatore sia gcc ... (era quello che ti chiedevo) ...

Ti necessita qualcosa come l'equivalente di un file delle risorse di Windows ..

Non so se questa pagina

http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967

ti può essere d'aiuto ... prova con il tuo file ...

Riodo
11-07-2011, 18:08
ho creato il file oggetto .o ma poi non so come collegarlo al mio codice. Posso postare il codice del mio programma e mi dai una mano....se puoi :( :(

oregon
11-07-2011, 18:10
C'è anche come fare in quel documento ... prova a seguirlo ...

Riodo
11-07-2011, 20:11
c'ho provato ma non ci sono riuscito.......

oregon
11-07-2011, 20:19
Quali comandi hai eseguito? Con quale esito?

Loading