码迷,mamicode.com
首页 > 其他好文 > 详细

内存 分析

时间:2016-04-08 21:46:01      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

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);
}

 

内存 分析

标签:

原文地址:http://www.cnblogs.com/Alyoyojie/p/5369839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!