Странные имена экспортируемых функций
Добрый день! Кто может подсказать, почему, когда я подгружаю стороннюю длл написанную на с++ и получаю полный список экспорта этой длл, я вижу не функцию, к примеру, _Activate, а нечто вроде ?@@_Activate...(дословно не скажу, всё дома осталось) и ещё много других символов. Я знаю только, что это определяется при компиляции длл, но с какой целью? И как сконвертировать такое имя функции к нормальному виду? Укажите, пожалуйста, где прочитать. И если найдётся кусок кода для изучения, буду премного благодарен. Кстати, тот же PE Explorer показал не только нормальные имена функций, но и их прототипы. Умеет же как-то.
Задача - найти в длл несколько функций с определёнными именами и получить их RV-адреса.
1. Подгружаю длл и получаю список экспорта (за основу взял великолепный код от Rouse_)
2. Заношу все получаемые функции в список строк
3. В списке ищу соответствие.
4. Если соответствие найдено - получаю адрес вызовом GetProcAddress
П.3 валится из-за несоответствия имён что у меня и что нашла процедура.
Заранее спасибо за любую помощь!
|