I file DLL copiati sono tutti zeri, ma dimensione del file corretta


0

Ho usato un programma chiamato SyncBackFree (valutazione CNET 4.5 *) per copiare alcune migliaia di file da un disco rigido a un altro disco rigido. Tutto sembrava funzionare bene, e non c'erano errori, e nessun errore nel file di registro. Ho appena notato che un mucchio di file DLL in una directory sono la lunghezza corretta, ma i dati sono tutti zero (utilizzando un visualizzatore esadecimale). Ho controllato a caso alcuni altri file, come immagini e video, e sembrano tutti a posto. Perché i file dll sono tutti zeri? Ho fatto la copia perché il mio hard-drive sta diventando lento, ed ero preoccupato per il possibile fallimento. Ho eseguito un programma per testare il mio sistema e il mio hard-drive, e dice che tutto va bene.


1
potresti chiedere questa domanda nel forum di supporto per la sincronizzazione.
jdigital

Ho cercato su google la sincronizzazione con questo problema e ho ottenuto zero corrispondenze, il che significa che questo programma non ha alcun problema con i file DLL. Dal momento che l'hai menzionato, ho ora postato la domanda sul loro forum, per ogni evenienza.
user199340

Suppongo tu abbia controllato le DLL originali per assicurarti che non siano azzerate
jdigital

non hai un brutto settore del disco che interseca i file in quella cartella, vero? chkdsk /R.
Frank Thomas

1
Che aspetto hanno i file originali usando lo stesso editor esadecimale?
Ramhound

Risposte:


1

Considera che gli originali potrebbero essere stati tutti zeri

Potrebbe essere semplicemente un equivoco. Si prega di guardare le altre DLL e vedere se è successo a tutti o è successo in alcune situazioni. dll sono semplicemente file e quindi saranno trattati allo stesso modo. guarda anche se qualche restauro non è ancora in corso o qualcosa di così strano perché potrebbe aver inserito dei file segnaposto che erano tutti zeri delle giuste dimensioni e che stava per tornare indietro e riempirlo con i dati corretti in seguito. Questa potrebbe essere una buona possibilità perché so che il torrenting ha un'opzione che puoi impostare che fa essenzialmente la stessa cosa in modo che sia garantito lo spazio sufficiente per farlo.


Non è possibile, dato che il programma ha funzionato bene, ma se provo a eseguire la copia di quei file di dll zero, la prima dll di lettura causa un errore.
user199340

Inoltre, la visualizzazione delle DLL originali con un visualizzatore di hew mostra che non sono tutti zeri.
user199340

0

Questa è più un'osservazione che una risposta, ma potrebbe essere utile quindi ecco qui ...

Ho un'applicazione Win32 che utilizza una DLL inpout32.dll accedere direttamente a una porta parallela mentre è in esecuzione in Windows 95 e XP. Questo ha funzionato bene, anche dopo che l'applicazione è stata trasferita su una macchina a 64 bit. Tuttavia, ho provato a eseguirlo di nuovo l'altro giorno e ho ricevuto il messaggio:

inpout32.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.

Ho aperto il file DLL con un editor esadecimale ed era pieno di zeri! Sono sicuro al 90% che questo è appena iniziato a comparire sulle nostre macchine x64 - vale a dire che la DLL non era stata agganciata prima.

Fortunatamente, era ancora in fase di sviluppo quindi c'è una sostituzione disponibile. Mettendo quello nella stessa cartella come il exe mi ha fatto lavorare di nuovo.

Quindi sto pensando che forse Windows esegue una sorta di controllo di integrità sulla DLL quando lo carica, ma lo scrubbing a zero sembra un po 'eccessivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.