Pues con cambiar 1 solo byte, el MD5 cambia...
Ahora, si queres que el calculo del MD5 del programa cambie, vas a tener que tocarle el algoritmno de generacion para que vaya cambiando a medida que va calculando.
El MD5 tiene una tabla base con la cual realiza los calculos. Ahi podes cambiar algo.
Sino, tambien, el MD5 se implementa (normalmente) como 3 funciones: Inicio, Alimentacion y Final.
La parte de Alimentacion, recibe como parametro un DWORD (entero de 32 bits) que indica el valor inicial, previo al calculo. Ahi tambien podrias tocar ese valor.
El valor que podrias meter, seria, por ej., el devuelto por GetTickCount.
Quizas no te entendi bien nuevamente, pero bueh...
Saludos!