строка отображения сборки mips с использованием переполнения буфера

Я практикую переполнение буфера и кодирование сборки. Прямо сейчас я могу найти обратный адрес и перейти в любую точку внутри самой программы. Тем не менее, я хочу сделать больше, чем просто перейти к себе, я хочу отобразить некоторую строку, которую я отправил в буфер программы (строка не входит в программу, но это вход, который я отправил с моим эксплойтом). Скажем, я хочу показать «вы взломаны!»как я могу это сделать?

Я понимаю, чтобы отобразить что-то, мне нужно вызвать функцию prints() внутри самой программы и назначить значение адреса $a0, которое является аргументом, переходящим в prints() и prints() распечатает что-либо в этом адресе. Однако, моя строка ввода не включена в программу, у меня нет возможности отобразить мое собственное сообщение, но только данные в самой программе. Как я могу это сделать?

1 ответ

  1. У меня был ответ всего в шаге, я поместил мое сообщение о взломе в буфер. Я неправильно вставлял строку в $a0, однако то, что я действительно должен сделать, это поместить адрес памяти строки в $a0. Как только я сделал это, мое сообщение hack отображается.