Dies ist kein Problem mit Perl, da offensichtlich die 0x00-Datei gedruckt wird:
perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"' | hd 00000000 50 e5 ff ff ff 7f 00 00 |P.......| 00000008
Ich wollte mit der NOP SLED-Technik experimentieren. Ich bekam den Schlitten und den Shellcode in eine Umgebungsvariable und ich bekam seine Adresse.
Ich wollte also das verwundbare Programm ausführen und als Argument diese Adresse wiederholt verwenden, besteht das Problem darin, dass es Nullen (Nullen) enthält:0x00007fffffffe550
./program_vuln $(perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"')
Perl druckt die Nullen nicht und die Adressierung im Stapel wurde so durcheinander.
Dies ist kein Problem mit Perl, da offensichtlich die 0x00-Datei gedruckt wird:
perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"' | hd 00000000 50 e5 ff ff ff 7f 00 00 |P.......| 00000008