Ваш браузер не разрешает ваш запрос .. вам нужно установить аддон вашего веб-браузера
Для Firefox https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
Требуется немного работы, но можно сделать это программируемо использование библиотека DbgHelp от Microsoft.
Приложения Отладки для Microsoft.Net и Microsoft Windows, John Robbins превосходное (если немного более старый) книга, которая содержит детали использования и полный источник. И, можно взять его на Amazon для дешевого!
Вам не нужен никакой инструмент, и Вы не должны анализировать PE. Просто используйте стандартный API Win32 (D)
, код (в C) много раз публиковался на Рекламе. API Win32 ng (news://comp.os.ms-windows.programmer.win32) (с 1992...)
Я предполагаю, что Вы закончите тем, что анализировали файл PE и сделаете demangling сами, если Вы захотите найти имена функций неизвестного dll в или чрезвычайно бесполезной системе во время выполнения ("dumpbin"); волшебство.
необходимо больше согласиться с тем, что Вы хотите.
библиотека BFD делает то, что Вы хотите (и раковина), который является основным компонентом нескольких GNU binutils инструменты. Я не могу быть уверен, будет ли это соответствовать Вашей проблеме.
Необходимо осмотреть заголовок PE .dll, так как это в конечном счете, что Windows делает так или иначе.
Принятие у Вас есть указатель на .dll's IMAGE_OPTIONAL_HEADER
(можно или использовать dbghelp's ImageNtHeader
функция с дескриптором к .dll, загруженному через LoadLibrary
, или попытаться найти его сами, если Вы будете знать расположение .dll сами), Вы захотите посмотреть optional_header->DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT]
, найти таблицу экспорта относительно дополнительного заголовка со смещением там, затем обойти таблицу экспорта (это IMAGE_EXPORT_DIRECTORY
).
Для funsies, назад совместимое изображение PE начинается с IMAGE_DOS_HEADER
; смещение к эти IMAGE_NT_HEADER
IMAGE_DOS_HEADER::e_lfanew
, и эти IMAGE_OPTIONAL_HEADER
встраивается в заголовок NT.
существует программа, названная средством просмотра экспорта dll, которое можно использовать: http://www.nirsoft.net/utils/dll_export_viewer.html
Я не знаю о API Win32, чтобы сделать это: вместо этого, Вы (или один из инструментов, упомянутых в других сообщениях), делаете это путем знания двоичного формата файла PE и чтения файла: см. http://msdn.microsoft.com/en-us/magazine/cc301808.aspx (и та статья упомянула утилиту "PEDUMP").
Существует три отличных типа DLLs в соответствии с Windows:
Классические DLLs, которые представляют каждую доступную функцию в таблице экспорта DLL. Можно использовать dumpbin.exe или depends.exe из Visual Studio или свободное зависимость Уокер для исследования этих типов. Matt Pietrek написал много статей и утилит для рытья в файлы PE Win32. Взгляните на его классика статьи MSDN Magazine . C++ DLLs, которые содержат экспортируемые классы, экспортирует каждый метод в классе. К сожалению, это экспортирует скорректированные имена, таким образом, вывод dumpbin фактически нечитабелен. Необходимо будет использовать программу как vc++_filt.exe к demangle вывод.
COM DLL, которые представляют COM-объекты. Эти DLLs представляют горстку регулярных экспортируемых функций (DllRegisterServer и т.д.), которые позволяют системе COM инстанцировать объектов. Существует много утилит, которые могут посмотреть на эти DLLs, но если они не встроили библиотеки типов, их может быть довольно трудно исследовать. <забастовка> 4Developers имеет много хороших инструментов COM/ActiveX забастовка>
.NET DLLs, которые содержат блоки.NET. Typiically Вы использовали бы инструмент как Отражатель.NET для рытья в них.
Редактирование: 4Developers ссылка не работает.
Также существует, ЗАВИСИТ программа в http://www.dependencywalker.com/
Если у Вас есть Visual Studio MS, существует инструмент командной строки под названием DUMPBIN.
dumpbin /exports <nameofdll>
Я использую dumpbinGUI, который дает Вам список экспорта (и намного больше) от щелчка правой кнопкой в Windows Explorer. dumpbin
и depends
оба даст Вам списки также.
Я всегда должен это делать. Я просто захожу на один из этих сайтов. На них размещается обычно необходимая нам информация.