0
假設有下面的代碼 -獲取文件名由地址映射到內存中它映射到
HANDLE h = CreateFile(L"some_dll.dll", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE map = CreateFileMapping(h, NULL, PAGE_READONLY | SEC_IMAGE, 0, 0, NULL);
LPVOID res = MapViewOfFileEx(map, 0, 0, 0, 0, 0);
是否可以提取「some_dll」,因爲採用c它映射到地址,++?
當試圖調試使用WinDbg的這個可執行文件,它似乎不提取模塊也很好
太好了,謝謝! –
文件映射(即段對象)映射爲「SEC_IMAGE」,內存管理器爲其映射PE/COFF映像標題中指定的各個段。因此,WinDbg會顯示來自映射圖像「IMAGE_EXPORT_DIRECTORY」的「Name」,如果它實際上是作爲模塊加載的,IIRC將被加載器模塊表中的任何名稱覆蓋。 VC++在生成一個DLL時設置這個導出目錄'Name'字段。似乎用於構建此DLL的工具將其留爲空白。 – eryksun