|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
[Win32Api] Creare Unità Disco in Windows
Ciao a tutti,
è da tempo che mi balena per la testa l'idea di far un programmino che crei un'unità disco in windows che si appoggia a un FTP remoto. Qualcuno di voi ha mai lavorato con le API di windows che consentono di definire unità disco "virtuali"? Per far questo genere di software ipotizzo sia necessario usare C++ con le API Win32. Si può usare Visual C++ .net versione Express? Grazie
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
con le Win32 non puoi creare un'unità disco virtuale vera e propria (scusa l'ossimoro
per creare un'unità disco virtuale devi realizzare un driver. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Sì esatto, credo che serva una specie di driver per un "disco".
Cercando su google ho trovato alcuni forum dove si dice che è un lavoro molto ma molto difficile il solo creare una finta unità disco.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
E' stata proposta più volte una versione di fuse per Windows, che renderebbe disponibili "gratuitamente" i driver fuse già esistenti per Linux e Mac (compreso il fuseftp). Purtroppo però tra il dire e il fare c'è di mezzo il codice, e nessuno ha ancora preso la tastiera in mano per farlo. Vuoi offrirti come volontario?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
Fatto questo quando uno clicca su quel disco, il nostro codice dovrebbe far un listing dei file remoti e quindi popolare una struttura di oggetti che windows si aspetta di ricevere in prativa file&cartelle. Il filesystem si ridurrebbe in pratica al mapping tra le risorse che si vedono in questa unità con i vari listing del FTP/SFTP remoto. Il punto di partenza sarebbe fregarsene del mapping dei file remoti.. e mostrare qualche file/cartella in questo disco virtuale. Cmq uno che su un Newsgroup aveva chiesto qualcosa di simile per far leggere a windows il ReiserFS è stato caldamente sconsigliato di lanciarsi n questa sfida. EDIT: cercando di riassumere.. servirebbe come base di partenza un codice che crea una finta unità disco con dentro finti file/cartelle.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. Ultima modifica di dupa : 13-03-2008 alle 16:34. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Mi è venuto in mente che truecrypt (che è opensource) fa quello che mi servirebbe, crea un disco virtuale a partire da un file.
sarebbe da vedere se il codice a riguardo è comprensibile o meno per estrarre solo la parte necessaria. http://www.truecrypt.org/downloads2.php
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. Ultima modifica di dupa : 13-03-2008 alle 16:45. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quello che vedi in risorse del computer non è un "disco", ma una partizione, un file system virtuale (come una unità subst o il contenuto di un ramdisk), ecc.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Magari tolgo tutto il divertimento, pero' potresti provare a valutare questo
http://www.softpedia.com/get/Interne...FTPDrive.shtml E' free e dovrebbe funzionare anche sotto Vista.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
insomma, vorrei sapere quali sono le chiamate a funzioni base per far vedere a windows un'unità logica e dei contenuti di prova file/cartelle.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#11 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
su Windows creare file systems è un'impresa a dir poco titanica non solo per la complessità intrinseca della cosa, ma anche e soprattutto per le curve di apprendimento "verticali" tipiche di Microsoft (specialmente in kernel-mode) è per quest'ultimo motivo che qui non troverai nessuno che ti possa dare informazioni tecniche precise, e che secondo me faresti bene a rinunciare alla possibilità di creare una lettera d'unità virtuale limitandoti a creare una finta cartella nel namespace della shell. |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
Codice:
Requirements for Building TrueCrypt for Windows: ------------------------------------------------ - Microsoft Visual C++ 2005 SP1 (Professional Edition or compatible) - Microsoft Visual C++ 1.52 - Microsoft Windows Driver Kit for Windows Vista (build 6000) - Microsoft Windows SDK 6.0 (integrated with Visual Studio) - NASM 0.99 assembler - Yasm assembler - gzip compressor
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#13 | ||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Quote:
sto programma ha un'aria decisamente schifosa non lo installerei mai sul mio computer e, BTW, che funzioni su Vista non ci giurerei |
||
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
Riguardo TrueCrypt il codice fondamentale per creare questa "unità logica" credo sia quello dentro: "TrueCrypt 5.1 Source\Driver" Codice:
SOURCES = \ DriveFilter.c \ EncryptedIoQueue.c \ Ntdriver.c \ Ntvol.c \ Driver.rc
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#16 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
In fin dei conti truecrypt (quando la il finto filesystem criptato sta su un file di ntfs) uusa come "sorgente dei dati" chiamate di lettura/scrittura standard di windows, e quindi quella parte viaggia tutta a "ring3". Anzi truecrypt credo sia molto più potente di quello che ipotizzerei di fare visto che truecrypt è in grado di gestire intere partizioni criptate a modo suo.. e quindi va a definire penso una sua specie di "filesystem". E addirittura nelle ultime versioni consente di far partire windows stesso da una partizione completamente criptata.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Tutto il necessario per windows, se ti interessa, sta credo nella directory Driver.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#19 | ||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
TrueCrypt non lavora a livello di file system, ma di raw bytes: legge lo stream di bytes e lo cripta; a te non serve di vedere i bytes, a te serve di vedere files, directories, sottodirectories, e contenuti di files.
Quote:
per realizzare questa emulazione non so cosa sia necessario fare e forse mai lo saprò visto che la documentazione non è gratuita. su MSDN l'ultima volta che sono andato a guardare queste cose veniva documentato solo come realizzare dei file system filters, cioè dei drivers per filtrare operazioni sui file systems, ma chiaramente non è quello che serve a dupa e comunque temo che quello che vuole fare lui non possa essere realizzato come filtro neanche con degli hack. Quote:
, tra cui ovviamente anche DC; sono stati tutti molto utili nella mia vita dal punto di vista didattico, ma il problema è che quando se ne accumulano troppi ti passa la voglia di cominciarne altri sapendo che probabilmente li lascerai a metà per quanto riguarda questo specifico progetto, io mi ci metterei seriamente solo sotto alcune condizioni che temo non si verificheranno mai: 1) tempo permettendo, e possibilmente anche "altri progetti permettendo" (nel senso che al di là del trovare il tempo, se riuscissi a concludere almeno uno dei miei N-mila progetti iniziati prima di iniziare questo sarebbe meglio 2) trovare il modo di procurarsi l'IFSK; come dice la mia ragazza, "ciao core" 3) non essere da solo; se mi ci mettessi vorrei compagnia. e, neanche a dirlo, la prima persona che guarderei saresti tu* * tranquillo, le altre due condizioni non si verificheranno mai |
||
|
|
|
|
|
#20 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:28.












non lo installerei mai sul mio computer e, BTW, che funzioni su Vista non ci giurerei







