|
3驿站币
#include <Windows.h>
#include <TlHelp32.h>
#include <iostream>
#include <stdio.h>
#include <string>
#include <tchar.h>
using namespace std;
//取指定进程PID里DLL的地址
HMODULE GetProcessModuleHandle(DWORD pid, CONST TCHAR* moduleName)
{
MODULEENTRY32 moduleEntry;
HANDLE handle = NULL;
handle = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid); // 获取进程快照中包含在th32ProcessID中指定的进程的所有的模块。
if (!handle) {
CloseHandle(handle);
return NULL;
}
ZeroMemory(&moduleEntry, sizeof(MODULEENTRY32));
moduleEntry.dwSize = sizeof(MODULEENTRY32);
if (!Module32First(handle, &moduleEntry)) {
CloseHandle(handle);
return NULL;
}
do {
if (_tcscmp(moduleEntry.szModule, moduleName) == 0) {
return moduleEntry.hModule;
}
} while (Module32Next(handle, &moduleEntry));
CloseHandle(handle);
return 0;
}
void main()
{
int a;//接收模块地址
char cp[50]="cloudmusic.exe";//参数2我不知道怎么填
a = GetProcessModuleHandle(8348,cp);//参数1=PID,参数2=模块名
}
|
最佳答案
查看完整内容
这是要写外挂吗楼主
模块运行在程序中应该是.dll //[RunGeme.dll+1122] 模块地址加偏移地址
还有获取模块的函数返回值不知道能不能转成int类型 记得以前写csgo用过了...
int RunModule;//接收模块地址
char cp[50]="模块的名称.dll";
RunModule = GetProcessModuleHandle(pid, cp);//参数1=PID,参数2=模块名
上一篇: Dev-Cpp 6.0u TDM-GCC 9.2 Setup下载下一篇: 求问字符数组与指针的问题
|