【发布时间】:2018-01-01 01:50:33
【问题描述】:
代码如下:
def flip_bytes(binary_f):
i = random.randint(0, len(binary_f))
c = chr(random.randint(0, 0xFF))
return binary_f[:i] + c + binary_f[i+1:]
def copy_binary():
with open("license", "rb") as orig_f, open("license_fuzz", "wb") as fuzz_f:
fuzz_f.write(flip_bytes(orig_f.read()))
license 是一个 ELF 可执行文件,当我运行脚本时出现此错误:
Traceback (most recent call last):
File "parse.py", line 30, in <module>
copy_binary()
File "parse.py", line 11, in copy_binary
fuzz_f.write(flip_bytes(orig_f.read()))
File "parse.py", line 7, in flip_bytes
return binary_f[:i] + c + binary_f[i+1:]
TypeError: can't concat bytes to str
我该如何解决这个问题?
(这是whole script以防万一)
【问题讨论】:
标签: python-3.5 elf