PDA

Visualizza la versione completa : Intercettare Accesso a file


i1ario
13-02-2009, 19:44
Salve a tutti, vorrei chiedervi come faccio a scoprire quando un exe accede ad un file.
Ad esempio quando un programma "pippo.exe" accede a un file "resource.bin" contenente delle immagini o dei modelli 3d. Vorrei creare un programma che intercetti il comando, di lettura da "resource.bin", di "pippo.exe" e lo devii ad un'altra immagine, un altro oggetto 3d dello stesso formato o in un altro file "myfile.bin". Spero di non essere stato troppo incomprensibile.

oregon
13-02-2009, 20:48
1) Devi indicare il linguaggio di programmazione (vedi Regolamento)

2) Perche' non rinomini la nuova immagine in resource.bin in modo che venga aperta questa?

i1ario
14-02-2009, 12:46
1)Basic o C++ sono ancora nella fase di pseudocodice.
2)Non è cosi semplice, devo creare un'utility che decida in base ad una flag quale resource.bin caricare. Es. if flag == 0 carica Myfile1.bin else carica Myfile2.bin.

oregon
14-02-2009, 13:02
Comunque puoi organizzare il codice in modo che venga rinominato il file che ti necessita.

In ogni caso, quello che vorresti fare (intercettare l'apertura del file e cambiare il nome al volo) praticamente non e' fattibile, se non con metodi molto complessi.

i1ario
14-02-2009, 16:05
In pratica la funzione è simile a quella di un virus ma la mia utility non lo è. Io non voglio rinominare voglio semplicemente deviare la lettura. In particolare mi serve un programma o una maniera per intercettare la lettura di un file.

Tipo Questo:
http://gr.rossoalice.alice.it/fmc/anteprima.php?filename=%2FPUBLIC%2FImmagine.bmp

oregon
14-02-2009, 16:08
Non puoi in maniera semplice.

Ma non capisco perche' tu non voglia seguire la strada del "rename" ...

i1ario
14-02-2009, 16:35
perché il programma pippo.exe indicizza il file resouce.bin. Se rinomino il file resource, ogni volta per scegliere tra myfile1.bin o myfile2.bin dovrei riavviare il programma pippo.exe, quindi ne potrei scegliere solo uno ogni avvio.

oregon
14-02-2009, 16:44
Lo stesso avverrebbe se potessi cambiare il nome al volo ...

Loading