PDA

Visualizza la versione completa : [C++] Leggere file di testo da risorsa non decifrabile altrimenti


TheEngine
11-05-2007, 18:15
Salve a tutti, vi spiego subito il mio problema, e spero che qualcuno mi possa aiutare a risolverlo.
Ho creato una dll con Visual c++ 2005 (C++/ATL), che contiene il codice di una rete bayesiana e di una rete neurale. Per la rete bayesiana ho utilizzato il software Netica della Norsys, che fornisce anche le API in C, ma, sfortunatamente per me, prevedono solo di caricare il file della rete dal disco fisso. Visto che questo file un semplicissimo file txt, chiunque potrebbe aprirlo e leggerlo, e questo non buono. Io mi chiedo ora se ci fosse un metodo per poter includere questo file nel file delle risorse e caricarlo poi tramite la funzione delle API di Netica, come se fosse stato caricato dal disco.

la procedura che seguo per caricare questo file la seguente

stream = NewStreamFile_ns ("C:\percorso del file", ... );

rete = ReadNet_bn ( stream, ... );

se potessi redirigere il file dalle risorse verso lo stream sarebbe ottimo, cos includerei il tutto nella dll, ed eviterei anche il discorso di impostare un percorso fisso da dove caricare la rete.

Se non fosse possibile redirigere il file dalle risorse, ci potrebbe essere qualche altra soluzione?

oregon
11-05-2007, 19:33
Originariamente inviato da TheEngine
chiunque potrebbe aprirlo e leggerlo, e questo non buono.

"Segreto commerciale"?



Io mi chiedo ora se ci fosse un metodo per poter includere questo file nel file delle risorse e caricarlo poi tramite la funzione delle API di Netica, come se fosse stato caricato dal disco.

Non credo si possa fare ma, anche se fosse, le risorse sono incorporate nell'eseguibile e il file .exe puo' essere aperto arrivando di fatto egualmente a leggere il contenuto di testo contenuto nelle risorse ...

XWolverineX
11-05-2007, 21:42
Potresti criptare il file, aprirlo e decriptarlo, e poi mandare i dati all'API

TheEngine
12-05-2007, 00:32
Originariamente inviato da oregon
"Segreto commerciale"?

Sto sviluppando una libreria per un committente, e quindi si, il cliente non dovrebbe leggere questo file.



Non credo si possa fare ma, anche se fosse, le risorse sono incorporate nell'eseguibile e il file .exe puo' essere aperto arrivando di fatto egualmente a leggere il contenuto di testo contenuto nelle risorse ...

Non proprio corretto, in quanto in questo modo potrei includere nelle risorse il file ma criptato, quando mi serve lo leggo dalle risorse lo decripto e poi lo utilizzo ed anche se venisse aperto con un programma per leggere le risorse si vedrebbe un file criptato.

alka
12-05-2007, 00:46
Il linguaggio va sempre indicato nel titolo, come da Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887).

Qui l'ho aggiunto io. :sonno:

TheEngine
12-05-2007, 00:58
Originariamente inviato da alka
Il linguaggio va sempre indicato nel titolo, come da Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887).

Qui l'ho aggiunto io. :sonno:



:dh: :malol:
Scusa, dimenticanza grave fu.
Non si ripeter. :)

XWolverineX
12-05-2007, 07:15
La mia idea era comunque quella di tenere il file su disco, ma criptato, cosi se l'utente andava ad aprirlo avrebbe trovato caratteri incomprensibili.

oregon
12-05-2007, 10:49
Originariamente inviato da TheEngine
Non proprio corretto, in quanto in questo modo potrei includere nelle risorse il file ma criptato, quando mi serve lo leggo dalle risorse lo decripto e poi lo utilizzo ed anche se venisse aperto con un programma per leggere le risorse si vedrebbe un file criptato.

Il fatto di poter trattare il file non l'hai detto ... altrimenti ti avrei semplicemente risposto di fornire il file criptato e decriptarlo quando ti serve .... a questo punto il fatto di essere incorporato nelle risorse o meno, non ha importanza ...

Il problema e' che, in un determinato momento, risorse o non risorse, il file in chiaro, deve essere presente nel file system (come file temporaneo cancellato subito dopo l'uso ...).

Dovrebbe essere la API che utilizzi a dovere prelevare i dati con un puntatore in memoria invece che cercarli di caricare da file ...

Loading