我尝试将十六进制字符串转换为shellcode格式
例如:我有一个像aabbccddeeff11223344
这样的十六进制字符串文件
我想通过python转换它以显示这种确切的格式:
"\xaa\xbb\xcc\xdd\xee\xff\x11\x22\x33\x44"
包括引号""
。
我的代码是:
with open("file","r") as f:
a = f.read()
b = "\\x".join(a[i:i+2] for i in range(0, len(a), 2))
print b
所以我的输出是aa\xbb\xcc\xdd\xee\xff\x11\x22\x33\x44\x
。
我知道我可以通过sed命令来完成它,但我想知道如何通过python实现这一目标。
答案 0 :(得分:0)
binascii
标准模块将在此处提供帮助:
import binascii
print repr(binascii.unhexlify("aabbccddeeff11223344"))
输出:
>>> print repr(binascii.unhexlify("aabbccddeeff11223344"))
'\xaa\xbb\xcc\xdd\xee\xff\x11"3D'