Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Please watch my YouTube video and don't just paste!
- If you just paste you won't learn important things and I go over how to configure VS so you don't get errors...
- Cyborg Elf 2019
- youtube.com/c/cyborgelf
- https://www.youtube.com/watch?v=0DhFu-XwGtk&feature=youtu.be
- Join my Discord for help: https://discord.gg/nYSBcnf
- */
- #include "pch.h"
- #include <iostream>
- #include <Windows.h>
- #include <TlHelp32.h>
- using namespace std;
- DWORD GetPID(const char* ProcessName) {
- PROCESSENTRY32 processInfo;
- processInfo.dwSize = sizeof(processInfo);
- HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
- if (processesSnapshot == INVALID_HANDLE_VALUE)
- return 0;
- Process32First(processesSnapshot, &processInfo);
- if (!strcmp(processInfo.szExeFile, ProcessName))
- {
- CloseHandle(processesSnapshot);
- }
- while (Process32Next(processesSnapshot, &processInfo))
- {
- if (!strcmp(processInfo.szExeFile, ProcessName))
- {
- CloseHandle(processesSnapshot);
- }
- }
- CloseHandle(processesSnapshot);
- return processInfo.th32ProcessID;
- }
- MODULEENTRY32 GetModule(const char* moduleName, unsigned long ProcessID)
- {
- MODULEENTRY32 modEntry = { 0 };
- HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, ProcessID);
- if (hSnapshot != INVALID_HANDLE_VALUE)
- {
- MODULEENTRY32 curr = { 0 };
- curr.dwSize = sizeof(MODULEENTRY32);
- if (Module32First(hSnapshot, &curr))
- {
- do
- {
- if (!strcmp(curr.szModule, moduleName))
- {
- modEntry = curr;
- break;
- }
- } while (Module32Next(hSnapshot, &curr));
- }
- CloseHandle(hSnapshot);
- }
- return modEntry;
- }
- int main()
- {
- unsigned long pid = GetPID("RainbowSix.exe");
- MODULEENTRY32 module = GetModule("RainbowSix.exe", pid);
- HANDLE phandle = OpenProcess(PROCESS_VM_READ, FALSE, pid);
- unsigned long long addr;
- for (;;)
- {
- int looking;
- ReadProcessMemory(phandle, (void*)((unsigned long long)module.modBaseAddr + 0x04E97030), &addr, sizeof(addr), 0);
- ReadProcessMemory(phandle, (void*)((unsigned long long)addr + 0x48), &addr, sizeof(addr), 0);
- ReadProcessMemory(phandle, (void*)((unsigned long long)addr + 0x70), &addr, sizeof(addr), 0);
- ReadProcessMemory(phandle, (void*)((unsigned long long)addr + 0x58), &addr, sizeof(addr), 0);
- ReadProcessMemory(phandle, (void*)((unsigned long long)addr + 0x418), &addr, sizeof(addr), 0);
- ReadProcessMemory(phandle, (void*)((unsigned long long)addr + 0x304), &looking, sizeof(looking), 0);
- while (looking == 1)
- {
- mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
- mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement