Я пытаюсь получить доступ к различным фреймам стека в системе Linux с архитектурой x86-64. Я могу получить доступ к базовому указателю регистра (rbp) всех фреймов. Теперь я хочу получить доступ к аргументам для каждого вызова функции. Я проверил этот link, в котором говорится, что первые 6 аргументов передаются через регистры. Однако, насколько я понимаю, я могу получить только аргументы самого главного вызова функции, читая регистры. Но как насчет аргументов, переданных другим функциям (т. Е. Кадры стека, лежащие ниже текущего кадра)? Предположительно, они должны быть сохранены в какой-либо позиции в самой стеке, но я не смог получить местоположение. Может кто-нибудь помочь объяснить это?Доступ к стеку стека на архитектуре x86-64 в Linux
Большое спасибо.
Они не обязательно хранятся в стеке, поэтому, как правило, у вас нет доступа к ним. Также обратите внимание, что использование указателя фрейма 'rbp' также необязательно. – Jester