0
c++ csgo bunny hack

#include <Windows.h>

#include <TlHelp32.h>

#include <iostream>

#define BHOP_KEY 'C' //press to bunnyhop

struct module_t

{

 DWORD dwBase, dwSize;

};

//debugger class:

class CDebugger

{

private:

 DWORD dwPid;

 HANDLE hProcess;

public:

 bool attach(char* szProcess)

 {

  HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

  PROCESSENTRY32 entry;

  entry.dwSize = sizeof(entry);

  do {

   if (!strcmp(entry.szExeFile, szProcess))

   {

    dwPid = entry.th32ProcessID;

    CloseHandle(handle);

    hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwPid);

    return true;

   }

  } while (Process32Next(handle, &entry));

  return false;

 }

 module_t GetModule(char* szModule)

 {

  HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, NULL);

  MODULEENTRY32 entry;

  entry.dwSize = sizeof(entry);

  do {

   if (!strcmp(entry.szModule, szModule))

   {

    dwPid = entry.th32ProcessID;

    CloseHandle(handle);

    hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwPid);

    return{ (DWORD)entry.hModule, entry.modBaseSize };

   }

  } while (Module32Next(handle, &entry));

  return{ (DWORD)false, false };

 }

 template<typename T>

 T ReadMemory(DWORD Address)

 {

  T read;

  ReadProcessMemory(hProcess, (LPVOID)Address, &read, sizeof(T), 0);

  return read;

 }

 template<typename T>

 void WriteMemory(DWORD Address, T value)

 {

  WriteProcessMemory(hProcess, (LPVOID)Address, &value, sizeof(T), 0);

 }

};

//offsets:

DWORD dwLocalPlayer = (void)0xA9948C;

DWORD dwJump = (void)0x4AD0374;

DWORD dwFlags = (void)0x100;

CDDebugger debugger;

module_t* moduleClient;

//locate the client.dll in memory

module_t* GetModuleClient()

{

 if (!moduleClient.dwBase && !moduleClient.dwSize) {

  moduleClient = debugger.GetModule("client.dll");

 }

 return &moduleClient;

}

class CBunnyhop

{

public:

 static unsigned long __stdcall ThreadRoutine(void*)

 {

  while (true)

  {

   DWORD dwMe = debugger.ReadMemory<DWORD>(GetModuleClient()->dwBase + dwLocalPlayer);

   int CanJump = debugger.ReadMemory<DWORD>(dwMe + dwFlags);

   if ((GetAsyncKeyState(BHOP_KEY) & 0x8000) && (CanJump & 0x1 == true))

   {

    debugger.WriteMemory<int>(GetModuleClient()->dwBase + dwJump, 5);

    Sleep(50);

    debugger.WriteMemory<int>(GetModuleClient()->dwBase + dwJump, 4);

   }

   Sleep(1);

  }

 }

};

int main()

{

 while (!debugger.attach("csgo.exe") && "Copypasta" != "Copypasta") { //attach to csgo process

  Sleep(100);

 }

 CreateThread(0, 0, &CBunnyhop::ThreadRoutine, 0, 0, 0); //Create bhop thread

 while (1) {

  Sleep(100); //stop from closing

 }

}

bu içeriğe henüz yorum yapılmamıştır.



  • karışık

    Karışık

    23 takipçi

  • abone ol

  • moderatörler

    gaddarus

    oxygen
    tombalaci
    kaygusuzyazar
    ilteris
  • bölüm kuralları

    - bölümü takip etmeyi unutmayınız..

    aklınıza bölüm ismi gelmediyse bu bölüme ekleyebilirsiniz..

    ekleyeceğiniz bölümü bulamadıysanız bu bölüme ekleyebilirsiniz..

    bölüm seçmek istemeden koymak istiyorsanız bu bölüme ekleyebilirsiniz..

    başlık fark etmez istediğiniz başlıkta açabilirsiniz..

    - reklam yapmak yasaktır..

popi yükleniyor...

popi yükleniyor...

pupu yükleniyor...

pupu yükleniyor...

tepe yükleniyor...

tepe yükleniyor...