Salut à toi visiteur !
Inscris toi en moins de 10 secondes pour profitez pleinement du site et partager avec la communauté ! S'inscrire


Source Projet Visual Studio | Bunny hop


#1
Public bunny hop 
by SP1K3

Code source d'un bunny hop en c++
Les offsets sont a modifié dans source.cpp

Download

.zip   public bhop.zip
(Taille : 345.41 Ko / Téléchargements : 16)


[hide]
Code :
class cMemory
{
public:
HANDLE HandleProcess;
DWORD  ProcessID;

bool  FindProcess(const char* name)
{
PROCESSENTRY32 ProcessEntry;
ProcessEntry.dwSize = sizeof(PROCESSENTRY32);
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

if (hSnap == INVALID_HANDLE_VALUE) return 0;

do
{
if (!strcmp(ProcessEntry.szExeFile, name))
{
ProcessID = ProcessEntry.th32ProcessID;
CloseHandle(hSnap);

HandleProcess = OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_READ | PROCESS_VM_OPERATION, false, ProcessID);
return true;
}
} while (Process32Next(hSnap, &ProcessEntry));

CloseHandle(hSnap);
// std::cout << "Error 1\n\n";
}
DWORD ModulePointer(const char* name)
{
MODULEENTRY32 ModuleEntry = { 0 };
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);

if (!hSnap) return NULL;

ModuleEntry.dwSize = sizeof(ModuleEntry);
BOOL Run = Module32First(hSnap, &ModuleEntry);

while (Run) {
if (!strcmp(ModuleEntry.szModule, name))
{
CloseHandle(hSnap);
return (DWORD)ModuleEntry.modBaseAddr;
}
Run = Module32Next(hSnap, &ModuleEntry);
}
CloseHandle(hSnap);
// std::cout << "Error 2\n\n";
return NULL;
}

}; 

cMemory *pMemory = new cMemory;

template <class T>
T RM(DWORD adress)
{
T out;
ReadProcessMemory(pMemory->HandleProcess, (LPVOID)adress, &out, sizeof(T), NULL);
return out;
}

template <class T>
void WM(DWORD adress, T value)
{
WriteProcessMemory(pMemory->HandleProcess, (LPVOID)adress, &value, sizeof(T), 0);
}



Source.cpp
Code :
#include <windows.h>
#include <iostream>
#include <tlhelp32.h>
#include "Memory.h"

using namespace std;

namespace Offsets {
DWORD Client;
DWORD dwLocal = 0x00A3343C;
DWORD dwJump = 0x04EE6194;
DWORD dwHealth = 0xFC;
DWORD dwFlags = 0x100;
}

#define FL_ONGROUND ( 1 << 0 )

struct Player
{
DWORD Base()
{
return RM<DWORD>(Offsets::Client + Offsets::dwLocal);
}

int Jump()
{
return RM<int>(Offsets::Client + Offsets::dwJump);
}

int Flags()
{
DWORD Base = this->Base();
return RM<int>(Base + Offsets::dwFlags);
}

void SetJump(int v)
{
WM<int>(Offsets::Client + Offsets::dwJump, v);
}
};

struct Player *pPlayer;

DWORD WINAPI Loop(PVOID pThreadParameter)
{
for (;; Sleep(7)) {
if (pPlayer->Jump() == 5) {
while (GetAsyncKeyState(VK_SPACE)) {
if (pPlayer->Flags() & FL_ONGROUND)
pPlayer->SetJump(5);
else
pPlayer->SetJump(4);
}
}

if (!FindWindow(NULL, "Counter-Strike: Global Offensive"))
exit(0);

if (GetAsyncKeyState(VK_HOME))
exit(0);
}
}

void Console()
{
cout << "~ Public BunnyHop by SP1K3\n";
cout << "~ Telegram: @SP1K3\n";
cout << "~ Skype: sp1ke_x\n";
cout << "~ Press Home to exit hack\n";
}

int main()
{
if (!FindWindow(NULL, "Counter-Strike: Global Offensive")) {
cout << "\n > CS:GO isn't running.\n";
system("pause");
exit(0);
}

while (!Offsets::Client) {
pMemory->FindProcess("csgo.exe");
Offsets::Client = pMemory->ModulePointer("client.dll");
}

Console();
HANDLE Threads[] = {
CreateThread(0, 0, &Loop, 0, 0, 0),
};
WaitForMultipleObjects(sizeof(Threads) / sizeof(HANDLE), Threads, TRUE, INFINITE);
return 0;
}
[/hide]
Credit: SP1K3


Messages dans ce sujet
Projet Visual Studio | Bunny hop - par UzGzChange - 01-09-2016, 06:14

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Recherches d'un développeur C++ cheat CS:GO projet sérieux Xynor 0 1,177 19-03-2022, 01:16
Dernier message: Xynor
  eHop | Bunny Hop Multi-Game UzGz 10 8,639 04-11-2017, 20:09
Dernier message: malborosmurf

Atteindre :