首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

XP 使用者模式記憶體空間剖析(三):載入模組枚舉與記憶體區塊關聯

     編輯:關於C++

模組枚舉程式碼

HANDLE hProcess = GetCurrentProcess();
HMODULE hMods[0x30]; DWORD cbNeeded;
EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded);
for (int i=0; i < cbNeeded/sizeof(HMODULE); i++) {
    GetModuleFileName(hMods[i], path, MAX_PATH);
    GetModuleInformation(hProcess, hMods[i], &modinfo, sizeof(modinfo));
    // modinfo.lpBaseOfDll, modinfo.SizeOfImage, modinfo.EntryPoint
}

枚舉結果範例

取得載入模組清單(基址、大小、路徑),包含主程式 bash.exe、ntdll.dll、kernel32.dll、cygwin.dll 等。後續文章將逐一對照各模組在記憶體空間的實際區塊分佈。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved