在python3中输出十六进制值

时间:2016-09-10 09:50:37

标签: python-3.x hex shellcode

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

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

python2中不会发生此问题。

1 个答案:

答案 0 :(得分:3)

您的问题出现是因为Python 3将字符串作为Unicode处理,print期望Unicode为您的终端编码某些输出。请尝试以下方法绕过此:

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