Pregunta

Me pregunto si alguna vez obtendré un resultado diferente cuando produzca una suma de comprobación en un archivo .exe antes y luego mientras o después de ejecutar ese archivo. Me preocupa más la práctica común (como producir un hash SHA de aplicaciones populares como firefox.exe) que los casos límite, pero ambos son interesantes. Gracias.

¿Fue útil?

Solución

El hash de un archivo debe ser constante mientras el archivo sea idéntico (es decir, contiene solo los mismos bytes, en el mismo orden). Es muy raro encontrar aplicaciones que reescriban su representación en el disco en tiempo de ejecución, por lo que el hash debería ser constante. Hay programas auto modificables, pero tienden a operar en la copia cargada en memoria de su código, en lugar de en la copia del disco.

Editar: deberíamos considerar " Actualización automática " aplicaciones, pero tienden a lanzar un pequeño programa auxiliar para descargar y actualizar la aplicación principal. Es difícil (especialmente en Windows) actualizar una ejecución mientras se está ejecutando. Los sistemas UNIX tienden a operar sistemas Copy on Write, por lo que es posible que una actualización de software cambie su ejecutable bajo sus pies, pero nuevamente, este es un '' caso de esquina ''.

Otros consejos

El hash solo cambiará si el exe cambia. Eso solo sucederá si la aplicación se modifica a sí misma, lo que no sucederá en Windows sin que la aplicación se reinicie. Firefox podría actualizarse a sí mismo (incluido un reinicio), pero aparte de estos casos, el hash seguirá siendo el mismo.

El hash cambiará si el archivo cambia.

Los archivos EXE rara vez cambian solos. firefox.exe cambiaría si el usuario actualiza a una nueva versión.

Puede verificar la " fecha de modificación " atributo de un archivo EXE (como firefox.exe ) después de ejecutarlo para ver si ha cambiado, pero probablemente encontrará que no lo ha hecho.

Si te refieres a la modificación del último tiempo de acceso, no te preocupes, se almacena en el nivel del sistema de archivos, no dentro del archivo, por lo que el hash seguirá siendo el mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top