Shellcode: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Atarubot (discussione | contributi)
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 tre istruzioni:
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