-
Автор темы
- #1
Помогите раньше все работало хорошо.
Выводит:
Proc id = 7776
client = 0
engine = 0
Выводит:
Proc id = 7776
client = 0
engine = 0
C++:
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
DWORD GetProcId(const char* procname)
{
DWORD procId = { 0 };
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof(procEntry);
if (Process32First(hSnap, &procEntry))
{
do
{
if (!_stricmp(procname, procEntry.szExeFile))
{
procId = procEntry.th32ProcessID;
break;
}
} while (Process32Next(hSnap, &procEntry));
}
}
CloseHandle(hSnap);
return procId;
}
DWORD GetModuleAdd(const char* modulename, DWORD proc_id)
{
DWORD modBaseAddr = {0};
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, proc_id);
if (hSnap != INVALID_HANDLE_VALUE)
{
MODULEENTRY32 modEntry;
modEntry.dwSize = sizeof(modEntry);
if (Module32First(hSnap, &modEntry))
{
do
{
if (!_stricmp(modulename, modEntry.szModule))
{
modBaseAddr = (DWORD)modEntry.modBaseAddr;
break;
}
} while (Module32Next(hSnap, &modEntry));
}
}
CloseHandle(hSnap);
return modBaseAddr;
}
int main()
{
DWORD proc_id = GetProcId("csgo.exe");
std::cout << "Proc id = " << proc_id << "\n";
DWORD client = GetModuleAdd("client.dll", proc_id);
std::cout << "client = " << client << "\n";
DWORD engine = GetModuleAdd("engine.dll", proc_id);
std::cout << "engine = " << engine << "\n";
}