
"Two-Face" binario Rust su Linux
Un file eseguibile che esegue un programma innocuo per la maggior parte del tempo, ma che eseguirà un codice diverso e nascosto se distribuito su un host target specifico.
Vedi Creare un binario Rust "Two-Face" su Linux.
È necessario un ambiente di build Rust, ad esempio da rustup.
È richiesta una toolchain nightly (per supportare il tipo ! "never").
Lo script test-example compilerà ed eseguirà un esempio completo.
Nel repository sono forniti i seguenti pacchetti:
evil_binary: un esempio di binario "nascosto", che verrà eseguito quando i dati dell'host corrispondono a quelli impostati in example/host.jsonharmless_binary: un esempio di binario "normale" che verrà eseguito su altri hostexample: il binario "Two-Face" risultante che includerà entrambi i binari precedenti e ne inoltrerà l'esecuzione a uno dei due a seconda dell'hosttwoface: la libreria che fornisce le funzionalità in fase di build e in fase di esecuzione