Как устроен этот процесс?
Пытаюсь узнать, какие аргументы передаются функции SDL_main из соседней функции в бинарнике.
Должны передаваться фальшивые argc и argv. Первый аргумент всегда равен единице (видно в дизассемблере), на второй должен подаваться массив из аргументов.
По всей видимости аргументы перед переходом скидываются в несколько первых регистров.
Чтобы перехватить аргументы, я изменил адрес в инструкции перехода, указывающий на внешнюю функцию.
В gdb получаю, что первый аргумент всегда 1, как и должно быть, а второй равен реальному argv.
Если пробросить аргументы в ту функцию, куда они назначались, программа ведёт себя, будто их и не было (крашится через некоторое время), хотя изначально выполнение проходило дальше.
Ответ на:
комментарий
от Eddy_Em
Ответ на:
комментарий
от Gvidon
Ответ на:
комментарий
от Eddy_Em
Ответ на:
комментарий
от kravich
Ответ на:
комментарий
от Eddy_Em
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум передача функции как аргумента (2012)
- Форум Передача аргументов скрипта в функцию (2013)
- Форум bash. передача аргументов в функцию. (2011)
- Форум Perl. Передача аргументов в функцию по имени (2009)
- Форум передача аргумента программе (2012)
- Форум Передача функции как аргумента в класс, который запускается как функция. (2014)
- Форум [ocaml] аргументы функции (2008)
- Форум Вызов функции по ссылке с передачей всех аргументов (2021)
- Форум [asm][arm] Вызов функции с большим числом аргументов (2011)
- Форум [perl][bash] передача аргументов (2012)