Domanda

Mi chiedo se otterrò mai un risultato diverso quando produco un checksum su un file .exe prima e poi mentre o dopo aver eseguito quel file. Sono più interessato alle pratiche comuni (come la produzione di un hash SHA di app popolari come firefox.exe) che ai casi limite, ma entrambi sono interessanti. Grazie.

È stato utile?

Soluzione

L'hash di un file deve essere costante fintanto che il file è identico (ovvero contiene solo gli stessi byte, nello stesso ordine). È molto raro trovare applicazioni che riscrivono la loro rappresentazione su disco in fase di esecuzione, quindi l'hash dovrebbe essere costante. Esistono programmi che si modificano da soli, ma tendono ad operare sulla copia caricata in memoria del loro codice, piuttosto che sulla copia del disco.

Modifica: dovremmo considerare " Auto-aggiornamento " applicazioni, ma queste tendono ad avviare un piccolo programma di supporto per scaricare e aggiornare l'applicazione principale. È difficile (specialmente su Windows) aggiornare un'esecuzione mentre è in esecuzione. I sistemi UNIX tendono a funzionare con i sistemi Copy on Write, quindi è possibile che un aggiornamento del software cambi il tuo eseguibile sotto i tuoi piedi - ma ancora una volta, questo è un "caso d'angolo".

Altri suggerimenti

L'hash cambierà solo se l'exe cambia. Ciò accadrà solo se l'app si modifica da sola, cosa che non accadrà su Windows senza il riavvio dell'app. Firefox potrebbe aggiornarsi (incluso un riavvio), ma a parte questi casi, l'hash rimarrà lo stesso.

L'hash cambierà se il file cambia.

I file EXE raramente cambiano da soli. firefox.exe cambierebbe se l'utente aggiorna a una nuova versione.

Puoi controllare la " data modificata " attributo di un file EXE (come firefox.exe ) dopo averlo eseguito per vedere se è cambiato, ma probabilmente lo troverai.

Se intendi la modifica dell'ultimo accesso, non ti preoccupare, è memorizzata a livello di filesystem, non all'interno del file, quindi l'hash rimarrà lo stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top