Использование dumpbin
, который поставляется с Visual Studio C++ Express или загрузить OpenWatcom C/C++ пакет и там есть wdump
с ним связано ...
Open Watcom Executable Image Dump Utility Version 1.8
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Usage: wdump [-?abdefipqrsx] [-A] [-B] [-D] [-S]
is a DOS EXE file, a Windows or OS/2 executable or DLL,
a PharLap executable, NLM, a QNX executable,
an ELF executable, shared library or object file,
or a COFF object.
Edit: Вы не можете напрямую извлекать эти функции экспорта программными средствами, приведенная выше утилита будет показывать адреса, используя ключи командной строки, включая отображение функций экспорта для «LoadLibrary», «FreeLibrary». Когда вызов «GetProcAddress» используется внутри, он просматривает каталог экспорта, чтобы найти соответствующий адрес экспортируемой функции, прежде чем возвращать указатель функции для этой экспортируемой функции.
Edit # 2: @UsMan: Вы можете сбросить адреса функций экспорта, но найти подписи не так просто, как вам нужно будет разобрать соответствующий EXE и разрабатываем параметры, глядя на призыв стек. Кроме этого, если у вас есть сторонняя DLL, но не поставляется с файлом заголовка и файлом lib, чтобы показать вам сигнатуры функций ... вам в значительной степени не повезло, кроме дизассемблирования кода ... Если вы говоря о выпуске EXE или DLL, будет сложнее, поскольку информация об отладке была бы удалена, загрузив его в отладчик, чтобы выработать стек, используемые вызовы и параметры, которые были бы спорными.
Можете ли вы, пожалуйста, изменить свой вопрос, чтобы сделать его более четким в отношении вашей цели, поскольку я стреляю в ногу и рискую попасть в нисходящее из-за вашего неудовлетворенности этим ответом .... это MFC, ATL, DLL, что такое EXE, DLL и т. д.
Я отделяю всю отладочную информацию, чтобы отделить файл PDB, а мой проект скомпилирован как «Release». – Usman
@Usman: Предполагая, что файл pdb доступен, вы можете использовать функции отладки Windows (особенно SymInitialize и компанию) для получения данных о функциях (экспортированных или иным образом). –
Если это действительно возможно при наличии файлов dbg, мы можем взять все адреса не экспортируемых, простых функций win32 exe и адресов, тогда dbghelp api поможет выполнить все эти операции? Это было бы неплохо. – Usman