Come modificare eseguibili intestazioni

January 24

sistemi operativi per computer seguono standard "formati eseguibili" durante la scrittura di programmi su disco per un utilizzo futuro. Dopo la compilazione e (in alcuni casi) collega un programma, sistemi operativi scrivono allo stoccaggio. Più tardi, quando il programma deve essere eseguito, chiamate di sistema si aspettano programmi per aderire a tali formati memorizzati - in caso contrario, il programma non possono essere caricati o eseguiti. Oltre alle istruzioni di programma ei dati di cui hanno bisogno per funzionare, i formati di file eseguibili includono una o più intestazioni. intestazioni eseguibili specificare il numero, le dimensioni e il tipo di segmenti che seguono nel file eseguibile. È possibile modificare il contenuto di intestazioni eseguibili.

istruzione

1 Richiamare un editor binario. Il modo specifico di eseguire questa operazione dipende dal sistema operativo. Per esempio, su Linux, è possibile richiamare il "vim" editor di testo in modo binario come segue:

vim -b

2 Modificare le parti del intestazione eseguibile è necessario modificare. Questa è un'operazione estremamente delicata, in quanto non vi è alcuna garanzia che impedisce di sovrascrivere i dati preziosi o da rendere il file binario inutilizzabile. La natura delle parti che si può cambiare e la loro posizione all'interno del file binario dipendono dal formato di file eseguibile. Ad esempio, per l'eseguibile e formato Collegabile, o "ELF", i due byte in offset 3 e 4 dall'inizio del file specificano sempre l'architettura del processore del file binario. È possibile modificare questo campo per avere il valore 00 33 (per MIPS-X) premendo il tasto "Escape" in "vim", quindi immettendo

: Display involucro setlocal = uhex

: R xxd binaryFile.bin

premendo "Enter" alla fine di ogni riga. Passare alla compensazione 3 e inserire i due valori "00" e "33" nel dump esadecimale. A questo punto, il campo architettura del processore sarà cambiato al valore desiderato.

3 Scrivere il file binario con l'intestazione eseguibile modificato. Ad esempio, utilizzando "vim", premere il tasto "Esc", quindi digitare

: wq

e premere "Invio".