1
私はpython3でシェルコードを利用しています。しかし、私はいくつかの16進バイトを試して出力します。例えばライン使用 - xxd
にpython3 -c 'print("\x8c")' | xxd
python3で16進数値を出力する
値は予想8c
この問題はpython2で発生していないのではなく、c28c
です。
私はpython3でシェルコードを利用しています。しかし、私はいくつかの16進バイトを試して出力します。例えばライン使用 - xxd
にpython3 -c 'print("\x8c")' | xxd
python3で16進数値を出力する
値は予想8c
この問題はpython2で発生していないのではなく、c28c
です。
あなたの問題は、Python 3が文字列をUnicodeとして扱い、print
がユニコードで端末用にいくつかの出力をエンコードすることが予想されるため問題が発生します。これはバイパスする、次の試してみてください!そうに働い
python3 -c "import sys; sys.stdout.buffer.write(b'\x8c')" | xxd
だけで、さらに理解するために、 '2c'の添加は'プリント() 'バイト形式にUnicode文字列を変換しようとするとどうなりますか? –