вывод nop (\x90) в файл

Попытка вывести шестнадцатеричное значение команды сборки nop \x90 в файл:

wahalez@wahalez:~$ echo $(python -c "print('\x90' * 17)") > хорошо

При проверке с помощью hexdump результат:

wahalez@wahalez:~$ hexdump -C ok
00000000  c2 90 c2 90 c2 90 c2 90  c2 90 c2 90 c2 90 c2 90  |................|
*
00000020  c2 90 0a                                          |...|
00000023

Почему между 90 в файле есть c2? что в результате и как это преодолеть, чтобы печатать только 0x90?


person Community    schedule 14.04.2020    source источник
comment
Отвечает ли это на ваш вопрос? Почему вывод печати в python2 и python3 отличается от одной и той же строки?   -  person hurlenko    schedule 14.04.2020
comment
Частично, когда я использую его с байтами, он выводит: wahalez@wahalez:~$ echo $(python -c print(b'\x90\x90')) › ok wahalez@wahalez:~$ hexdump -C ok 00000000 62 27 5c 78 39 30 5c 78 39 30 27 0a |b'\x90\x90'.| 0000000c   -  person    schedule 14.04.2020
comment
Второй ответ по ссылке выше показывает, как это сделать правильно. Попробуйте это: echo $(python3 -c 'import sys; sys.stdout.buffer.write(b"\x90" * 17)') > ok   -  person hurlenko    schedule 14.04.2020