#c #winapi #dll #detours
#c #winapi #dll #объезды
Вопрос:
Я хочу знать все функции, которые содержит данная библиотека наборов API.
На самом деле, было бы еще лучше, если бы я мог просто получить отдельный файл для данной библиотеки DLL набора API, например api-ms-win-core-file-l1-2-0.dll например. Возможно ли это?
Что касается первого, я попытался перечислить функции в C , используя библиотеку обходных путей Microsoft.
Я использовал DetourEnumerateExports для загрузки набора api и ExportCallback для печати каждого имени функции.
static BOOL CALLBACK ExportCallback(_In_opt_ PVOID pContext, _In_ ULONG nOrdinal, _In_opt_ LPCSTR pszSymbol, _In_opt_ PVOID pbTarget) { (void)pContext; (void)pbTarget; (void)pszSymbol; ExportContext* pec = (ExportContext*)pContext; if (nOrdinal == 1) { pec-gt;fHasOrdinal1 = TRUE; } pec-gt;nExports ; std::cout lt;lt; pszSymbol lt;lt; "n"; return TRUE; } HMODULE lib = LoadLibraryExW(L"api-ms-win-core-file-l1-2-0.dll", NULL, DONT_RESOLVE_DLL_REFERENCES); BOOL validFlag = FALSE; DetourEnumerateExports(lib, amp;validFlag, ExportCallback);
Функции, которые печатаются, кажутся неправильными. Существует множество функций, которые кажутся неуместными или не должны входить в набор API. Я думаю, что мой код неверен.
Есть ли другой способ сделать это?
Комментарии:
1. ты бросаешь kernelbase.dll экспорт. и что с того ? отдельный файл для данной библиотеки DLL набора API, например api-ms-win-core-file-l1-2-0.dll например. Возможно ли это? — это невозможно. файл не существует
2. Библиотеки DLL набора API не содержат кода, на данный момент они бессмысленны.