2

Я пытаюсь выполнить переполнение буфера на интерактивной C-программе. Я должен переписать EIP с адресом, который имеет шестнадцатеричное значение 88 как один байт. Для этого я должен ввести соответствующий ASCII, когда будет предложено.

Я попробовал CTRL + SHIFT + u и ввел шестнадцатеричное значение [ u88 ], чтобы получить символ, но это не сработало. Вместо этого он отправил C288 в реестр.

Я провел некоторое исследование и выяснил, что это набор символов [HTS], однако мне не удалось найти escape-кодировку, которая бы работала в Ubuntu.

  • PS: Perl или python для передачи \x88 здесь не вариант, так как программа не принимает пользовательский ввод через аргументы.

1 ответ1

0

Я изменил кодировку символов терминала, а затем смог ввести символ с помощью сочетания клавиш CTRL + SHIFT + U и набрав 88.

Терминал> Установить кодировку символов

Выберите Western (ISO-8859-1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .