Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <iostream>
- #include <string>
- HWND hook(char* process) {
- HWND hWnd = FindWindowA(NULL, process);
- return hWnd;
- }
- int base = 0x400000; // Base Address
- int offset_lp = 0x10F4F4; // Local Player Offset
- int lp = 0; // Local Player
- int ammoAddr = 0x0150; // Ammo Address Offset
- int fragAddr = 0x0158; // Frag Grenade Address Offset
- int armrAddr = 0x0128; // Armor Address Offset
- void GetLocalPlayer(HANDLE handle) {
- ReadProcessMemory(handle, (LPVOID)(base + offset_lp), &lp, sizeof(int), 0);
- }
- int GetAddress(int fromOffset) {
- return (lp + fromOffset);
- }
- // Ammunition
- int GetAmmo(HANDLE handle) {
- int current = 0;
- ReadProcessMemory(handle, (LPVOID)GetAddress(ammoAddr), ¤t, sizeof(int), 0);
- return current;
- }
- void SetAmmo(HANDLE handle, int value) {
- WriteProcessMemory(handle, (LPVOID)GetAddress(ammoAddr), &value, sizeof(int), 0);
- }
- void AddAmmo(HANDLE handle, int value) {
- int current = GetAmmo(handle);
- int new_val = current + value;
- printf("Setting ammo from %d to %d\n", current, new_val);
- SetAmmo(handle, new_val);
- }
- // Frag Grenades
- int GetFrags(HANDLE handle) {
- int current = 0;
- ReadProcessMemory(handle, (LPVOID)GetAddress(fragAddr), ¤t, sizeof(0), 0);
- return current;
- }
- void SetFrags(HANDLE handle, int value) {
- WriteProcessMemory(handle, (LPVOID)GetAddress(fragAddr), &value, sizeof(int), 0);
- }
- void AddFrags(HANDLE handle, int value) {
- int current = GetFrags(handle);
- int new_val = current + value;
- printf("Setting frag from %d to %d\n", current, new_val);
- SetFrags(handle, new_val);
- }
- // Armor
- int GetArmor(HANDLE handle) {
- int current = 0;
- ReadProcessMemory(handle, (LPVOID)GetAddress(armrAddr), ¤t, sizeof(0), 0);
- return current;
- }
- void SetArmor(HANDLE handle, int value) {
- WriteProcessMemory(handle, (LPVOID)GetAddress(armrAddr), &value, sizeof(int), 0);
- }
- void AddArmor(HANDLE handle, int value) {
- int current = GetArmor(handle);
- int new_val = current + value;
- printf("Setting armor from %d to %d\n", current, new_val);
- SetArmor(handle, new_val);
- }
- int main()
- {
- char process_name[] = "AssaultCube";
- int ammo_val = 99;
- HWND hWnd = hook(process_name);
- if (hWnd == NULL) {
- printf("Failed to hook into %s\n", process_name);
- return -1;
- }
- printf("Hooked into '%s'!\n", process_name);
- DWORD process_id;
- GetWindowThreadProcessId(hWnd, &process_id);
- HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_id);
- GetLocalPlayer(handle);
- int currentAmmo = GetAmmo(handle);
- int currentFrag = GetFrags(handle);
- int currentArmr = GetArmor(handle);
- printf("Current Ammo: %d.\n", currentAmmo);
- printf("Current Frags: %d.\n", currentFrag);
- printf("Current Armor: %d.\n", currentArmr);
- AddFrags(handle, 2);
- AddAmmo(handle, 1000);
- AddArmor(handle, 200);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment