Di recente ho pensato a questo problema e in realtà non sembra possibile, ma ho pensato che lo avrei chiesto per ogni evenienza.
Assumi un programma semplice, in pseudocode:
run hash on an executable we think is mimicing the true executable
check the value against the hash that's hard coded into this executable
if it matches, do x
if not, do y
In teoria dovrebbe essere abbastanza sicuro, dal momento che solo il vero eseguibile sarebbe in grado di produrre lo stesso hash codificato nell'eseguibile, ma nel momento in cui l'hash è compilato in quell'eseguibile l'hash cambierebbe.
Pensi che sia persino possibile codificare l'hash risultante in modo realistico?
Attivo alla domanda che ha una risposta più probabile; quale sarebbe il modo più sicuro per assicurarsi che un eseguibile sia di fatto lo stesso eseguibile che è stato distribuito con un programma e non qualche eseguibile impostore che tenta di dirottare il sistema?