Outputting hex values in python3

拈花ヽ惹草 提交于 2019-12-20 04:42:10

问题


I am writing shellcode exploits with python3. However, when I try and output some hex bytes. e.g. using the line - python3 -c 'print("\x8c")' | xxd

The value in xxd is c28c, rather than the expected 8c

This issue does not occur in python2.


回答1:


Your issue arises because Python 3 handles strings as Unicode, and print expects Unicode to encode some output for your terminal. Try the following to bypass this:

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


来源:https://stackoverflow.com/questions/39424833/outputting-hex-values-in-python3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!