Почему DetourFindFunction () не может найти адрес функции? - PullRequest
0 голосов
/ 19 февраля 2019

Microsoft Detour FAQ Документация косвенно говорит о том, что статически связанная функция не может быть отклонена под вопросом Почему я не вижу никаких вызовов в мой обход malloc?

Но я могу обходить свои собственные статически связанные библиотечные функции, находя адрес с помощью DetourFindFunction().Я считаю, что он использует символы отладки, чтобы найти его.Я проверил достаточно, и я не видел какого-либо ненормального поведения с этим подходом?В чем может быть причина того, что Microsoft делает такие заявления в FAQ?

Кроме того, если расширение встроенной функции *1011* включено в конфигурации проекта Visual Studio, DetourFindFunction() не может найти адрес.Почему не получается и есть ли другие способы найти адрес?

1 Ответ

0 голосов
/ 21 февраля 2019

Я думаю, что он имеет в виду, что когда вы вызываете функцию (в статической библиотеке A) в процессе B, то вы оборачиваете функцию в процессе B, она завершится с ошибкой, но не обойдет функцию в статической библиотеке A напрямую.

Встроенная функция выполняется компилятором напрямую путем перемещения кода в вызывающее место без дополнительных затрат на его вызов.Функция Inline не переходит к адресу для выполнения.

...