Outputting hex values in python3

2019-02-28 07:36发布

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条回答
祖国的老花朵
2楼-- · 2019-02-28 07:56

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
查看更多
登录 后发表回答