zoukankan      html  css  js  c++  java
  • VC中遍历目标进程中的模块



    VC中遍历目标进程中的模块 MFC代码

    win32 也可以用 在下面代码进行修改转换就可以了
    CString strModule; 可以换成 char* 但是MODULEENTRY32结构中的szModule是WCHAR
    由于博主基础知识较差 所以使用的MFC里的Cstring函数
    #include <Tlhelp32.h>
    
    /***************************************************/
    /*  函数: 查找目标进程中是否有指定模块信息
    /*  参数:DWORD 目标进程ID
    /*  参数:char* 指定模块名称 例如"ntdll.dll"
    /*	返回: 无
    /*  创建人:			日期		内容
    /*	金胖胖		2015年2月25日	新建
    /***************************************************/
    bool CUIConsoleDlg::GetAllModules(DWORD dWProcessId,char* szModuleName)
    {
    	CString strModule;
    	BOOL    bFound =   FALSE;     
    	HANDLE  hModuleSnap  =  NULL;     
    	MODULEENTRY32   me32   =   {0};     
    	hModuleSnap  =  ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dWProcessId);     
    	if(hModuleSnap == INVALID_HANDLE_VALUE)    
    	{
    		return false;      
    	}
    	me32.dwSize = sizeof(MODULEENTRY32);     
    	if(::Module32First(hModuleSnap,   &me32))     
    	{     
    		do     
    		{     
    			strModule.Format("%s",me32.szModule);
    			if (!strcmp(szModuleName,strModule.GetBuffer())) // 如果找到则返回true
    			{
    				::CloseHandle(hModuleSnap);
    				return true;
    			}
    		}     
    		while(::Module32Next(hModuleSnap,&me32));     
    	}     
    	::CloseHandle(hModuleSnap);
    	return false;
    }
    
    
    
    /***************************************************/
    /*  函数: 测试按钮函数
    /*	返回: 无
    /*  创建人:			日期		内容
    /*	金胖胖		2015年2月25日	新建
    /***************************************************/
    void CUIConsoleDlg::OnBnClickedButton1()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	this->m_list.DeleteAllItems();
    	DWORD dwID = ::GetCurrentProcessId();
    	
    	if (this->GetAllModules(dwID,"GameHelpMfcDll.dll"))
    	{
    		AfxMessageBox("找到模块了");
    	}
    	else
    	{
    		AfxMessageBox("没找到模块");
    	}
    
  • 相关阅读:
    移动端调试利器-vConsole
    html手机调试
    vue实现PC端分辨率适配
    uniapp 判断 IOS和Android的GPS是否开启并设置启动
    Fiddler抓包工具使用
    js对象数组多字段排序
    时间戳转换时间格式
    从一个数组中删除另一个数组中存在的元素
    Python_下载二次登录后的页面源码
    Python_ip被封用代理
  • 原文地址:https://www.cnblogs.com/-jpp/p/4299719.html
Copyright © 2011-2022 走看看