Python 字符串到 shellcode 字节

问题描述

我正在尝试制作一个生成shellcode的程序,在Python3中,我需要将一个字符串转换为“\x00\x00”格式,例如:“Hello”->“\x68\x65\x6c\ x6c\x6f”。 我无法弄清楚这一点,如果我尝试将“\\x”添加到“68”,则它不起作用。我试图用谷歌搜索我能做的一切,我认为这很简单,但我坚持下去了。

解决方法

嗯……其实"Hello""\x68\x65\x6c\x6c\x6f"是一样的

如果你想只是打印那个或其他什么,你可以这样做:

>>> print('"' + ''.join(['\\x'+hex(c)[2:] for c in "Hello".encode()]) + '"')
"\x48\x65\x6c\x6c\x6f"

如果你想输出字节(你在评论中问过):

>>> print('b\'' + ''.join(['\\x'+hex(c)[2:] for c in "Hello".encode()]) + '\'')
b'\x48\x65\x6c\x6c\x6f'

如果你想在某处发送像 b"Hello" 这样的字节,只需发送它们。耶。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...