Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <Windows.h>
- #include <TlHelp32.h>
- using namespace std;
- HANDLE phandle;
- ULONG Clientdll;
- ULONG GameOverlayRendererDLL;
- ULONG VGUIMatSurfaceDLL;
- bool Continue=false;
- int ONLADDER();
- int INWATER();
- int ONGROUND();
- int INCHAT();
- void PressKey(unsigned short KeyCode);
- ULONG GetModuleAddress(const char *szModuleName, const ULONG dwProcessId);
- bool getwindow();
- int main()
- {
- bool Continue = getwindow();
- if(Continue)
- {
- cout << "External bunnyhop enabled\nPut in console <bind space \"+jump 1; -jump 1\">\nHold SPACE to bunnyhop";
- long int FL_ONGROUND = 0, FL_INWATER = 0, FL_ONLADDER = 0, FL_INCHAT = 0;
- while(1)
- {
- FL_INCHAT = INCHAT(); FL_ONGROUND = ONGROUND(); FL_INWATER = INWATER(); FL_ONLADDER = ONLADDER();
- if(GetKeyState(VK_SPACE) & (1 << 15) && !FL_INCHAT)
- {
- if(FL_ONGROUND != -1 || FL_INWATER != 0 && FL_INWATER != 1 || FL_ONLADDER == 9)
- PressKey(0x39);
- }
- }
- }
- cin.get();
- return 0;
- }
- int ONLADDER()
- {
- int OnLadder = 0;
- ReadProcessMemory(phandle, LPCVOID(Clientdll+0x76202C), &OnLadder, sizeof(OnLadder), NULL);
- ReadProcessMemory(phandle, LPCVOID(OnLadder+0x13c), &OnLadder, sizeof(OnLadder), NULL);
- return OnLadder;
- }
- int INWATER()
- {
- int InWater = 0;
- ReadProcessMemory(phandle, LPCVOID(Clientdll+0x77FE3C), &InWater, sizeof(InWater), NULL);
- return InWater;
- }
- int ONGROUND()
- {
- int OnGround = 0;
- ReadProcessMemory(phandle, LPCVOID(Clientdll+0x782158), &OnGround, sizeof(OnGround), NULL);
- return OnGround;
- }
- int INCHAT()
- {
- int InChat = 0, InChat2 = 0;
- ReadProcessMemory(phandle, LPCVOID(GameOverlayRendererDLL + 0x7BE70), &InChat, sizeof(InChat), NULL);
- ReadProcessMemory(phandle, LPCVOID(VGUIMatSurfaceDLL+0x114064), &InChat2, sizeof(InChat2), NULL);
- if (InChat || !InChat2)
- return 1;
- else
- return 0;
- }
- void PressKey(unsigned short KeyCode)
- {
- INPUT InputData;
- InputData.type = INPUT_KEYBOARD;
- InputData.ki.wScan = KeyCode;
- InputData.ki.time = (NULL);
- InputData.ki.dwExtraInfo = 0;
- InputData.ki.dwFlags = 0;
- SendInput(1, &InputData, sizeof(InputData));
- Sleep(1);
- InputData.ki.dwFlags = KEYEVENTF_KEYUP;
- SendInput(1, &InputData, sizeof(InputData));
- }
- 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;
- }
- bool getwindow()
- {
- DWORD pid=0;
- HWND hWnd=0;
- hWnd = FindWindow(NULL,(TEXT("Counter-Strike Source")));
- if(!hWnd)
- {
- cout << "Game not found.";
- cin.get();
- return false;
- }
- else
- {
- GetWindowThreadProcessId(hWnd,&pid);
- phandle = OpenProcess(PROCESS_VM_READ,0,pid);
- if(!phandle)
- {
- cout << "Could not get handle to window.";
- cin.get();
- return false;
- }
- else
- {
- Clientdll = GetModuleAddress("client.dll", pid);
- GameOverlayRendererDLL = GetModuleAddress("gameoverlayrenderer.dll", pid);
- VGUIMatSurfaceDLL = GetModuleAddress("vguimatsurface.dll", pid);
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement