Сам код скрипта
Выполняю с командной строки(файл находится рядом со скриптом и он .exe) и в итоге он бьёт тревогу на строке (start_match, end_match) = match.span()

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/usr/bin/env python import zlib import sys import re import binascii if(len(sys.argv) < 2 or sys.argv[1] == "-h"): print("usage: python DecompNewDell.py <biosupdate.exe>") exit() f = open(sys.argv[1], "rb") string = f.read() pat = re.compile(r'.{4}\xAA\xEE\xAA\x76\x1B\xEC\xBB\x20\xF1\xE6\x51.{1}\x78\x9C') match = pat.search(string) (start_match, end_match) = match.span() compessed_len = string[start_match:start_match+4] compessed_len = binascii.b2a_hex(compessed_len[::-1]) compessed_len = long(compessed_len, 16) f.seek(start_match+16) string = f.read(compessed_len) o = zlib.decompress(string) f2 = open(sys.argv[1] + "_decompressed.hdr", "wb") f2.write(o) f.close() f2.close() print("Decompressed data written to %s_decompressed.hdr" % sys.argv[1]) |
