内存 分析
PBYTE pFile2;//設置為全局,方便其他cpp訪問
void CDLG_Process::AnalysisPFile()
{//獲取行列內容
DWORD dwPid;CString Pid = m_ctrlList_Process.GetItemText(row, 0);dwPid = _ttoi(Pid.GetBuffer());//_ttoi String->int
Pid.ReleaseBuffer();//獲取第一個模塊信息HANDLE hModuleSnap = INVALID_HANDLE_VALUE;MODULEENTRY32 me32 = { sizeof(MODULEENTRY32) };// 1. 創建一個模塊相關的快照句柄hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, // 指定快照的類型dwPid); // 指定進程if (hModuleSnap == INVALID_HANDLE_VALUE)return;// 2. 通過模塊快照句柄獲取第一個模塊信息if (!Module32First(hModuleSnap, &me32)) {CloseHandle(hModuleSnap);return;}//內存操作//1 得到進程的句柄HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid); //2.2 開始讀取LPVOID lpBuffer = new LPVOID[me32.modBaseSize];ReadProcessMemory(hProcess, me32.hModule, lpBuffer, me32.modBaseSize, NULL);pFile2 = (PBYTE)lpBuffer;//隱藏控件::ShowWindow(::GetDlgItem(::FindWindow(NULL, L"PE工具"), IDC_FilePath), SW_HIDE);::ShowWindow(::GetDlgItem(::FindWindow(NULL,L"PE工具"), IDC_BUTTON_SecFile), SW_HIDE);
}
?
轉載于:https://www.cnblogs.com/Alyoyojie/p/5369839.html
總結
- 上一篇: java学习笔记(4)
- 下一篇: 经常使用命令 echo、@、call、p