Я ищу решение для перечисления функций поиска из сборок Windows (exe, dll, ocx). Я считаю, что в WMI есть какой-то инструмент, но я не могу найти. Он должен быть близок к функциям System.Reflection .NET, но мне нужно анализировать платформу исполняемых файлов Windows независимо, а System.Reflection применим только для .NET-приложения.Получить функции исполняемого файла Windows
ответ
Отражение - это особенность некоторых языков. Общий исполняемый файл или двоичный файл может не содержать (много) информации о функциях внутри.
Битовый файл формата PE содержит список экспортируемых функций (хотя и не обязательно по имени). Вы можете увидеть их с помощью инструмента командной строки, который поставляется с Visual Studio под названием dumpbin
. Например, dumpbin /exports
отобразит экспортированные функции.
dumpbin tool извлекает только имена функций. Что делать, если мне нужны полные подписи методов? Кроме того, не уверен, работает ли он на удаленном компьютере (в локальной сети Ethernet) –
Возможно, вам будет невозможно. Большинство двоичных файлов не содержат сигнатур функций или другой информации о символах. Если у вас есть файлы .pdb, соответствующие двоичным файлам, вы можете использовать библиотеку dbghelp для запроса их для получения информации о символах. –
Я уточнил это требование: целью является исполняемый файл VC++ MFC. Есть ли какие-либо программные (например, WinAPI или WMI) для этой платформы? –
Если вы хотите получить полную информацию о подписи, это ваши варианты.
- Управляется: Вы можете использовать отражение
- COM: Некоторые двоичные файлы, которые экспортируют объекты COM будут поддерживать
IDispatch
, что позволит вам запросить открытый API. - Для всего остального вам нужно будет перейти к отладочным символам. Как уже говорилось, двоичным файлам не нужно хранить данные подписи, поэтому они не поддерживают их. Вы можете использовать
DIA
SDK для запроса файлов .PDB, просто имейте в виду, что большинство разработчиков не будут предоставлять полные файлы символов. - Если у вас нет символов, имена любых экспортируемых функций являются ближайшей целью, которую вы собираетесь получить (и это именно то, что отладчики отбрасывают, когда символы недоступны). Чтобы получить доступ к этой программе, обратитесь к спецификации
PE COFF
.
- 1. Аутентификация исполняемого файла Windows
- 2. Как получить исходный код исполняемого файла Windows?
- 3. Как получить версию исполняемого исполняемого файла?
- 4. Windows Lua для исполняемого файла
- 5. Получить длину исполняемого файла
- 6. Вызов кода функции исполняемого файла
- 7. Получить отображаемое имя исполняемого файла Windows по его пути
- 8. Получить имя исполняемого командного файла
- 9. Как получить версию исполняемого файла?
- 10. Идентификация версии компилятора из исполняемого файла Windows
- 11. БЕСПЛАТНО получить путь к запуску исполняемого файла в Windows API
- 12. Получить дескриптор файла для запуска исполняемого файла
- 13. Как получить адрес функции из текущего исполняемого файла?
- 14. Получить модуль исполняемого файла в PyKD
- 15. Создать службу Windows из исполняемого файла
- 16. MySQLDump из исполняемого файла в Windows 7
- 17. Изменение строки заголовка исполняемого файла Windows
- 18. Как изменить свойства исполняемого файла? (Windows)
- 19. Выбор исполняемого файла Java для Windows
- 20. Поле имени исполняемого файла экспорта исполняемого файла
- 21. Получить значок информации из исполняемого файла?
- 22. Как получить имя исполняемого файла JavaScript?
- 23. вызова функции из Linux исполняемого файла
- 24. Выполнение функции из скомпилированного исполняемого файла
- 25. Функции вызова из исполняемого файла `coffee`
- 26. Перегруженные функции и размер исполняемого файла/библиотеки
- 27. Технические характеристики исполняемого файла
- 28. Создание статического исполняемого файла?
- 29. Golang размер исполняемого файла
- 30. Как передать вывод исполняемого файла как один из аргументов другого исполняемого файла в Windows CMD?
Вы хотите программное решение? Или достаточно свалка? –
Даже если вы можете получить функции, вы не будете знать, как их называть, поэтому информация не очень полезна. –
DAVID: да, мне нужно программное решение, которое может выполнять функции со своими сигнатурами с удаленного компьютера в локальной сети для всех возможных файлов exe Windows. –