输出十六进制值python3



我正在用python3编写shellcode漏洞。然而,当我尝试输出一些十六进制字节。例如,使用- python3 -c 'print("x8c")' | xxd

"xxd"中的值为"c28c",而不是预期的"8c"

此问题在python2中不会发生。

您的问题出现是因为Python 3将字符串作为Unicode处理,而print期望Unicode为您的终端编码一些输出。尝试以下操作来绕过此设置:

python3 -c "import sys; sys.stdout.buffer.write(b'x8c')" | xxd

最新更新