Aiuto.....file binario dentro eseguibile....

di il
15 risposte

Aiuto.....file binario dentro eseguibile....

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.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????
Spero di essere stato chiaro.......
grazie anticipatamente

15 Risposte

  • Re: Aiuto.....file binario dentro eseguibile....

    Non so se ho capito, ma ciò credo si possa fare solo con icone o bitmap su file resource.
  • Re: Aiuto.....file binario dentro eseguibile....

    Puoi sempre usare i file binari...
  • Re: Aiuto.....file binario dentro eseguibile....

    Il mio file è proprio un file binario.......
  • Re: Aiuto.....file binario dentro eseguibile....

    Ma perchè devi includerlo nell'eseguibile?
  • Re: Aiuto.....file binario dentro eseguibile....

    Perchè devo creare un sorta di authenticode di Microsoft.....e il prof vuole che una volta avviato il programma,esso provveda alla verifica della fima digitale.il prof non vuole che il programma si va a richiamare un file esterno .....
  • Re: Aiuto.....file binario dentro eseguibile....

    Mh...
  • Re: Aiuto.....file binario dentro eseguibile....

    Ma questa cosa è fattibile o è solo una cosa astrusa del prof?
  • Re: Aiuto.....file binario dentro eseguibile....

    Aggiungi un file resource.rc al progetto e scrivi
    120 TEXTINCLUDE "C:\percorso\file"
    120 è l'ID, per usare il file dovrai mettere:
    FILE* myFile = fopen(MAKEINTRESOURCE(120), "b");
    Se non sbaglio. Ma se non ricordo male MAKEINTRESOURCE è dichiarato su winuser.h.
    Forse è meglio aspettare qualcuno che sappia come fare
  • Re: Aiuto.....file binario dentro eseguibile....

    Mi sono accorto che MAKEINTRESOURCE() è soltanto un define.
    #define MAKEINTRESOURCE(i) (const* wchar_t)((unsigned long)((unsigned short)(i)))
  • Re: Aiuto.....file binario dentro eseguibile....

    Premesso che non ho capito bene cosa fare.....oltre a questo, utilizzando makeintresource funziona???? io uso l'editor Kdevelop su linux....
  • Re: Aiuto.....file binario dentro eseguibile....

    Non è molto chiaro, ma se ho capito bene quello che vuoi fare, la soluzione è dichiarare un vettore costante che contenga i dati che leggi normalmente dal file. Dopodiché ovviamente dovrai leggere i dati da questo vettore, quindi non con le funzioni di lettura da file. Inoltre questo ti permette di leggere i dati, ma non di modificarli.

    Esempio. Supponiamo che tu voglia inglobare nell'eseguibile un file contenente i numeri primi fino a 100:
    
    const unsigned int embedded_file[] = { 
    2,3,5,7,11,13,17 ,19,23,
    29,31,37,41,43,47,53,59,
    61,67,71,73,79,83,89,97,
    101
    }
    
    unsigned int sommaprimi(unsigned int cnt)
    {
      unsigned int somma = 0;
      for(unsigned int i=0 ; i < cnt ; ++i)
        somma += embedded_file[i];
    
      return somma;
    }
    
    Questo è un metodo che ho visto usare per inglobare delle icone negli eseguibili scritti per X-Window.

    Michele
  • Re: Aiuto.....file binario dentro eseguibile....

    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....
    Il tutto è fatto su slackware...
  • Re: Aiuto.....file binario dentro eseguibile....

    Proviamo a schematizzare.

    Quello che hai fatto tu è creare 3 file
  • Re: Aiuto.....file binario dentro eseguibile....

    Diciamo di si......io sostanza io voglio che eseguendo controllore, si verifichi la firma anche se il file app_firmata successivamente si cancella. una cosa un pò astrusa.....
Devi accedere o registrarti per scrivere nel forum
15 risposte