Shellcode: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
template citazione; rinomina/fix nomi parametri; converto template cite xxx -> cita xxx; fix formato data |
Etichette: Sequenze di caratteri ripetuti da parte di un nuovo utente o IP Modifica visuale |
||
Riga 74:
Per produrre uno shellcode libero da [[null]] partendo da uno che contiene dei bytes null, possono essere sostituite le istruzioni macchina che contengono gli zeri con istruzioni che producono lo stesso effetto ma che sono prive di bytes null. Per esempio su una architettura [[IA-32]] si potrebbe eseguire questa sostituzione:
B8 01000000 [[MOV (x86 instruction)|MOV]] EAX,1 // Imposta il registro EAX a 0x000000001
questa istruzione contiene zeri come parte del literal (1 viene espanso come 0x000000001) con queste
33C0 [[XOR (x86 instruction)|XOR]] EAX,EAX // Imposta il registro EAX a 0x000000000
40 [[INC (x86 instruction)|INC]] EAX // Incrementa il valore di EAX a 0x00000001
|