Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HANDLE GetProcessHandle(const char *ProcessName, DWORD& ProcessID)
- {
- PROCESSENTRY32 entry;
- entry.dwSize = sizeof(PROCESSENTRY32);
- HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
- if (Process32First(snapshot, &entry) == TRUE)
- {
- while (Process32Next(snapshot, &entry) == TRUE)
- {
- if (strcmp(entry.szExeFile, ProcessName) == 0)
- {
- ProcessID=entry.th32ProcessID;
- return OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
- }
- }
- }
- CloseHandle(snapshot);
- return 0;
- }
- ULONG GetModuleAddress(const char *szModuleName, const ULONG dwProcessId)
- {
- if (!szModuleName || !dwProcessId)
- return 0;
- HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);
- if (hSnap == INVALID_HANDLE_VALUE)
- return 0;
- MODULEENTRY32 me;
- me.dwSize = sizeof(MODULEENTRY32);
- if (Module32First(hSnap, &me))
- {
- while (Module32Next(hSnap, &me))
- {
- if (strcmp(reinterpret_cast<const char*>(me.szModule), szModuleName)==0)
- {
- CloseHandle(hSnap);
- return (ULONG)me.modBaseAddr;
- }
- }
- }
- CloseHandle(hSnap);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement