Вернуть управление функцией в C - PullRequest
0 голосов
/ 23 марта 2020

Как сделать возврат функции C, возвращаемой непосредственно в функцию дедушки, а не в родительскую функцию? в обратном инжиниринге. Например, у меня есть 3 функции (main, f1 и f2): main называется f1, а f1 - f2. Я хочу вернуть f2 напрямую в main, не проходя через p1.

1 Ответ

1 голос
/ 23 марта 2020

Поскольку вы используете такой инструмент, как ida, вы просто должны иметь возможность установить счетчик программы прямо на то, что вам нужно (из стекового фрейма бабушки и дедушки, когда он называется родительским).

In другими словами, запишите, что помещается в стек в качестве адреса возврата, когда дедушка выполняет call parent, а затем загрузите это значение, если и когда вы захотите вернуться к нему.

Просто имейте в виду, что возможно, вы пропускаете код, который жизненно важен для последующих действий. Но я предполагаю, что если вы реверс-инжиниринг, вы знаете достаточно, чтобы следить за такими вещами: -)

...