POS external bunnyhop/trigger bot
this was my very first csgo cheat, so far ive moved to internal so this is up for grabs. please excuse the sloppy work as it was built just for learning(same goes for the wrapper which could use a rewrite as it started for one purpose and then went in a different direction). hopefully someone can learn something from this
Main.cpp
MemMan.h
MemMan.cpp
2 virus scans for the .rar
https://www.virustotal.com/#/file/13...fdff/detection
https://metadefender.opswat.com/resu...gular/overview
Main.cpp
Code:
#include <Windows.h>
#include "MemMan.h"
MemMan pInfo;
struct offs
{
DWORD lPlayer = 0xC5E87C;
DWORD fJump = 0x50DE048;
DWORD flags = 0x100;
DWORD entityList = 0x4C3B384;
DWORD crosshair = 0xB2B8;
DWORD team = 0xF0;
DWORD health = 0xFC;
DWORD ELD = 0x10;
DWORD shootlmb = 0x307CA78;
};
bool canLaunch(byte flag)
{
bool allowed = false;
if (flag & (1 << 0) && GetAsyncKeyState(VK_SPACE))
{
allowed = true;
}
return allowed;
}
bool checkShoot(DWORD theDLL, DWORD base, int myTeam, int mCrosshair)
{
offs ofsetts;
DWORD enemyCrosshair = pInfo.readMem<DWORD>(theDLL + ofsetts.entityList + ((mCrosshair - 1) * ofsetts.ELD));
int eTeam = pInfo.readMem<int>(enemyCrosshair + ofsetts.team);
int eHealth = pInfo.readMem<int>(enemyCrosshair + ofsetts.health);
if (myTeam == 3)
if (eTeam == 2 && eHealth >= 1)
return true;
if (myTeam == 2)
if (eTeam == 3 && eHealth >= 1)
return true;
return false;
}
int main()
{
uintptr_t cModule;
offs ofsetts;
DWORD localBase;
int myTeam, notMyTeam, myCrosshair, enemyCrosshair;
BYTE mflags;
bool canJump = false;
pInfo.Process("csgo.exe");
if (pInfo.handle == NULL)
return 0;
cModule = pInfo.getModule(pInfo.process, "client_panorama.dll");
localBase = pInfo.readMem<DWORD>(cModule + ofsetts.lPlayer);
myTeam = pInfo.readMem<int>(localBase + ofsetts.team);
while (true)
{
canJump = false;
myCrosshair = pInfo.readMem<int>(localBase + ofsetts.crosshair);
mflags = pInfo.readMem<BYTE>(localBase + ofsetts.flags);
if (checkShoot(cModule, localBase, myTeam, myCrosshair))
{
pInfo.writeMem(cModule + ofsetts.shootlmb, 5);
Sleep(20);
pInfo.writeMem(cModule + ofsetts.shootlmb, 4);
}
if (canLaunch(mflags))
pInfo.writeMem(cModule + ofsetts.fJump, 6);
Sleep(1);
}
return 0;
}
MemMan.h
Code:
#pragma once
#include <Windows.h>
#include <vector>
class MemMan
{
public:
MemMan();
~MemMan();
template <class val>
val readMem(DWORD addr)
{
val x;
ReadProcessMemory(handle, (LPBYTE*)addr, &x, sizeof(x), NULL);
return x;
}
void writeMem(DWORD addr, int x)
{
WriteProcessMemory(handle, (LPBYTE*)addr, &x, sizeof(x), NULL);
}
void Process(const char*);
uintptr_t getModule(DWORD, const char*);
DWORD getAddress(DWORD, std::vector<DWORD>);
DWORD process;
HANDLE handle;
uintptr_t pModule;
};
Code:
#include "MemMan.h"
#include "Windows.h"
#include <TlHelp32.h>
MemMan::MemMan()
{
process = 0;
handle = NULL;
}
MemMan::~MemMan()
{
CloseHandle(handle);
}
void MemMan::Process(const char* proc)
{
HANDLE hProcessId = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof(pEntry);
do
{
if (!strcmp(pEntry.szExeFile, proc))
{
process = pEntry.th32ProcessID;
CloseHandle(hProcessId);
handle = OpenProcess(PROCESS_ALL_ACCESS, false, process);
}
} while (Process32Next(hProcessId, &pEntry));
}
uintptr_t MemMan::getModule(DWORD procId, const char* modName)
{
HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, process);
MODULEENTRY32 mEntry;
mEntry.dwSize = sizeof(mEntry);
do
{
if (!strcmp(mEntry.szModule, modName))
{
CloseHandle(hModule);
return (DWORD)mEntry.hModule;
}
} while (Module32Next(hModule, &mEntry));
return 2;
}
DWORD MemMan::getAddress(DWORD addr, std::vector<DWORD> vect)
{
for (int i = 0; i < vect.size(); i++)
{
ReadProcessMemory(handle, (BYTE*)addr, &addr, sizeof(addr), 0);
addr += vect[i];
}
return addr;
}
2 virus scans for the .rar
https://www.virustotal.com/#/file/13...fdff/detection
https://metadefender.opswat.com/resu...gular/overview


