Есть бинарный файл, над которым я работаю. У него есть функция с адресом, начинающимся с 123. Мне нужно получить мой код для выполнения этой функции.
Двоичный файл принимает байтовый массив размера 'n' и не проверяет границы. Вся задача на самом деле - переполнить буфер и вызвать плохие вещи.
Опять же, задача состоит в том, чтобы позвонить по адресу 123 и заставить его выполнить. У меня сложилось впечатление, что если размер буфера равен, скажем, «4», и я передаю 9 символов…, 5 символов будут помещены в стек и выполнены. (это правда?)
Кроме того, для того, чтобы я мог добраться до нужного адреса, я хотел бы сказать «вызов 123». Из того, что я понимаю, "звонок" - это "е8", нет?
Эта проблема немного сбивает меня с толку. Если бы кто-то мог помочь мне лучше понять это, я был бы очень признателен за это
(Да, это домашнее задание)