我们都使用python将二进制参数传递给C / C ++程序。例如:
python2 -c "print '\xf0'" | ./sample_binary
为f00a
提供./sample_binary
十六进制值。在为溢出利用制作自定义输入时,此功能对我特别有用。
问题是,如何在Python3中实现相同的功能?相同的命令给出了不同的结果:
python3 -c "print('\xf0')"
:这一个提供c3b0 0a
而不是f00a
所需的值。我知道这与str()
函数有关,因为默认情况下python3是UTF-8。欢迎提出任何建议