Posté par : UzGz - 25-01-2013, 22:25 - Forum : C++
- Réponses (10)
eHop (Orange Box Bunny Hopper)
Voici la source d'une bunny hop permettant d'être utilisé avec Garry's Mod Team Forteress 2 Cs Source DoD Source
Codé par J.Large, ce logiciel est complétement externe.
Seul deux fichier forme la source, le fichier source principal et le header cProcess pour gérer la lecture dans la mémoire.
A importer dans un nouveau projet c++ (application console)
main.cpp
[hide]
Spoiler:
Code :
//Copyright (c) 2012 Jacob Large
//This program is a fully external tool for assisting in bunnyhopping in all games based on the Orange Box engine.
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <cstring>
#include "CProcess.h"
#include <time.h>
//Struct to store offsets, gamewindow, and game name
struct offset
{
offset();
DWORD ON_GROUND;
DWORD SPECTATING;
DWORD OVERLAY;
DWORD WATER;
HWND game;
char *gameName;
};
//Initializer function to set all members to NULL
offset::offset()
{
ON_GROUND = NULL;
SPECTATING = NULL;
OVERLAY = NULL;
game = NULL;
}
//Prototype functions
bool isSpectating();
bool onGround();
bool overlayOpen();
void bhopLoop(const offset&);
void sendSpace(const offset &addrs);
void findGame(offset &addrs);
//Global variables
int grounded = -1;
int overlay = -1;
int spectate = -1;
int water = -1;
int grmax = 0;
double timestart;
//Create CProcess object
CProcess worker;
int main()
{
SetConsoleTitle("eHop External Orange Box Bunnyhop Tool");
std::cout << "eHop External Orange Box Bunnyhop Tool by Lagunka and tflo" << std::endl;
std::cout << "Waiting for hl2.exe..." << std::endl;
worker.Initialize();//Searches for hl2.exe
std::cout << "hl2.exe found. Waiting for game window..." << std::endl;
offset addrs;//Creates a struct object for storing offsets and game name
findGame(addrs);//Searches for a source game window
bhopLoop(addrs);//Main loop for bhopping
std::cout << "Lost game window, now exiting..." << std::endl;//Game was closed
Sleep(2000);
delete [] addrs.gameName;//Free the memory allocated for the dynamic array
return 0;
}
//Reads the process memory to see if the client is on ground
//Because the values can start becoming other than 0 and 1 (3 and 4 for example) some fixes were applied
bool onGround(offset addrs)
{
if(grounded > grmax)//Stores the max value of the address
grmax = grounded;
while(grmax - 1 > grounded)//If max value is more than 1 more of the min value, it lowers it to be 1 more again
grmax -= 1;
ReadProcessMemory(worker.hProcess, (LPVOID)(worker.dwClient+addrs.ON_GROUND), &grounded, sizeof(grounded), 0);//reads the process memory and stores the value to grounded
if(grounded == grmax)
timestart = time(NULL);
else
timestart = 0.0;
return grounded == grmax;//returns true if grounded is at it's max, false if not.
}
//Function to check if the client is in the water
bool isInWater(offset addrs)
{
ReadProcessMemory(worker.hProcess, (LPVOID)(worker.dwClient+addrs.WATER), &water, sizeof(water), 0);
return water > 0;
}
//Function to check if the client is in spectate (only applies to CS:S and DOD:S)
bool isSpectating(offset addrs)
{
ReadProcessMemory(worker.hProcess, (LPVOID)(worker.dwClient+addrs.SPECTATING), &spectate, sizeof(spectate), 0);
return spectate == 1;
}
//Function to check if the steam overlay is open so spaces don't get sent while typing
bool overlayOpen(offset addrs)
{
ReadProcessMemory(worker.hProcess, (LPVOID)(worker.dwOverlay+addrs.OVERLAY), &overlay, sizeof(overlay), 0);
return overlay == 1;
}
//This function loops until a proper game window is found
void findGame(offset &addrs)
{
addrs.game = NULL;
while(!addrs.game)//Loop while addrs.game is NULL
{
if(FindWindow(NULL, "Counter-Strike Source"))
{
addrs.gameName = new char[strlen("Counter-Strike Source") + 1];
strcpy(addrs.gameName, "Counter-Strike Source");
addrs.game = FindWindow(NULL, addrs.gameName);
addrs.SPECTATING = 0x7417B0;
addrs.ON_GROUND = 0x72970C;
addrs.OVERLAY = 0x77D8C;
addrs.WATER = 0x744FFC;
std::cout << "Found game: " << addrs.gameName << std::endl;
}
else if(FindWindow(NULL, "Garry\'s Mod"))
{
addrs.gameName = new char[strlen("Garry\'s Mod") + 1];
strcpy(addrs.gameName, "Garry\'s Mod");
addrs.game = FindWindow(NULL, addrs.gameName);
addrs.ON_GROUND = 0x538984;
addrs.OVERLAY = 0x77D8C;
std::cout << "Found game: " << addrs.gameName << std::endl;
}
else if(FindWindow(NULL, "Day of Defeat Source"))
{
addrs.gameName = new char[strlen("Day of Defeat Source") + 1];
strcpy(addrs.gameName, "Day of Defeat Source");
addrs.game = FindWindow(NULL, addrs.gameName);
addrs.SPECTATING = 0x493350;
addrs.ON_GROUND = 0x48B91C;
addrs.OVERLAY = 0x77D8C;
std::cout << "Found game: " << addrs.gameName << std::endl;
}
else if(FindWindow(NULL, "Team Fortress 2"))
{
addrs.gameName = new char[strlen("Team Fortress 2") + 1];
strcpy(addrs.gameName, "Team Fortress 2");
addrs.game = FindWindow(NULL, addrs.gameName);
addrs.ON_GROUND = 0x8EEB84;
addrs.OVERLAY = 0x77D8C;
std::cout << "Found game: " << addrs.gameName << std::endl;
}
}
}
//Function to send a single space key press to the window
void sendSpace(const offset &addrs)
{
SendMessage(addrs.game, WM_KEYDOWN, VK_SPACE, 0x390000);
Sleep(10);
SendMessage(addrs.game, WM_KEYUP, VK_SPACE, 0x390000);
}
//Function that loops and checks if the user is holding space
void bhopLoop(const offset &addrs)
{
std::cout << "The tool is now active, use the \'delete\' key to toggle through settings\n\nIMPORTANT: Leave this window open while the tool is in use." << std::endl;
int bhop_enable = 1;//bhop enable defaults to perfect
int space = 0;
int button_pressed = 0;//Variable so that button has to be pressed and released to pass
srand(time(NULL));//Seed the random number generator
int interval = 0;
std::cout << "\n\nIf you suffer performance issues, use the 'page up' key to slow the scan time.\n";
std::cout << "Current setting: Perfect Bhop with no delay in scan time" << std::endl;
for( ;FindWindow(NULL, addrs.gameName); Sleep(interval))
if(GetAsyncKeyState(VK_PRIOR) && !button_pressed && interval < 5)
{
interval += 1;
button_pressed = 1;
std::cout << "Scan interval set to: " << interval << " ms.\n";
}
else if(GetAsyncKeyState(VK_NEXT) && !button_pressed && interval > 0)
{
interval -= 1;
button_pressed = 1;
std::cout << "Scan interval set to: " << interval << " ms.\n";
}
else if(GetAsyncKeyState(VK_DELETE) && !button_pressed)
{
//bhop is dissabled, so set it to 1
if(!bhop_enable)
{
bhop_enable = 1;
std::cout << "Bhop changed to perfect" << std::endl;
}
//bhop is on 1, so set to 2
else if(bhop_enable == 1)
{
bhop_enable = 2;
std::cout << "Bhop changed to legit" << std::endl;
}
//bhop is on 2, so set to 0
else if(bhop_enable == 2)
{
bhop_enable = 0;
std::cout << "Bhop disabled" << std::endl;
}
button_pressed = 1;
}
else if(GetAsyncKeyState(VK_SPACE) && bhop_enable && onGround(addrs) && !overlayOpen(addrs) && !isSpectating(addrs))
{
if(bhop_enable == 2)//bhop is set to legit
{
Sleep(rand() % 6);//If the user hits the ground, waits 4 to 8 ms to jump (to look legit)
for(int i = 0; i < rand() % 3 + 5; ++i)//Sends the space key 5 to 8 times (to look like scroll wheel)
{
sendSpace(addrs);//
Sleep(20);
}
}
//bhop is set to perfect
else
sendSpace(addrs);
}
//Use pressed space while in the air, so run the command once to make sure +jump isn't stuck.
else if((GetAsyncKeyState(VK_SPACE) && !onGround(addrs) && !space && !isSpectating(addrs) && !overlayOpen(addrs) && !isInWater(addrs)) || (timestart - time(NULL) > 0.005 && !space && !isSpectating(addrs) && !overlayOpen(addrs) && !isInWater(addrs)))
{
sendSpace(addrs);
space = 1;
}
//reset space var to 0
else if(!GetAsyncKeyState(VK_SPACE) && space)
space = 0;
//Use is in water and not touching the ground, so simulate +jump until they are out of the water, touch ground, or let go of space
else if(isInWater(addrs) && GetAsyncKeyState(VK_SPACE) && !onGround(addrs))
{
SendMessage(addrs.game, WM_KEYDOWN, VK_SPACE, 0x390000);
while(isInWater(addrs) && GetAsyncKeyState(VK_SPACE) && !onGround(addrs))
Sleep(10);
SendMessage(addrs.game, WM_KEYUP, VK_SPACE, 0x390000);
}
else if(!GetAsyncKeyState(VK_NEXT) && !GetAsyncKeyState(VK_PRIOR) && !GetAsyncKeyState(VK_DELETE) && button_pressed)
button_pressed = 0;
}
Posté par : kobz92 - 25-01-2013, 21:27 - Forum : Café
- Réponses (6)
Salut tout le monde, vous vous rappelez surement de la team GSK² connue sur css pour leur nombreux hack serveur et cheat, mais aussi pour leur hack sur un forum non officiel de la gendarmerie, un site d'un député et aussi des menaces de hack sur une émission télévisé.
Je me suis demander qu'es ce qu'il l'aurait est arrivé.
Sachant qu'il y en a 3 qui ont était attraper par la police.
Goru Sécurity Klan ² avait un forum où il faisait payer les gens pour y rentré. Et maintenant depuis c'est fermé... une bonne escrocrie !
Bonjour j'aimerais modifier les couleurs de la console css , mais j'arrive plus pace que au début il y avais un logiciel que j'ai perdu mais sinon c'est toujours possible ?
Bonjour à tous ! ... Est'il possible de créer d'autres hacks ? genre un wallhack externe (indetectable biensur) différent ou on voit les joueurs normaux sans les textures bleues ?.
Ou tout bonnement créer d'autres cheats que le wallhack, speedhack et bunnyJump ?...
Le cheat VIP en devellopement comme toujours, malgré les problèmes auquel je fais fasse j'espère pouvoir sortir une version beta au plus vite
- Nouveauté dans la barre verticale de gauche comme vous avez put le voir un onglet "Tutoriels" qui ne contient rien pour le moment
Je suis entrain de vous confectionner une suite de divers tutos edit video / programmation de cheat / mapping / skinning etc..
Tuto écrit et vidéo !
Pour la dernière petite info, le forum etait innacessible et ce dut a un bug du fichier index.php qui n'était plus accessible a personne.
Tout ca pour dire que tout est revenu a la normale l'erreur n'aura pas duré longtemps
Autre info le forum souffre de léger spammeur/tentative de hack par certains membre, rien de bien méchant mais quand un nouveau post ce fait avec un membre n'ayant que très peu de message au compteur et avec des titre du genre "Full cheat gratuit / free hack undetected vac" merci de faire attention a vous ! Moi et l'équipe des modérateurs supprimons aussi vite que possible mais on ne peut pas être toujours la <img src='http://cs-hackers.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt='' />
Sur ce bonne fin de mois <img src='http://cs-hackers.com/forum/public/style_emoticons/<#EMO_DIR#>/happy.png' class='bbc_emoticon' alt='^_^' />
Posté par : ChicKenFly68 - 21-01-2013, 00:05 - Forum : Café
- Réponses (1)
Vous vous souvenez quand sur counter-strike source on programmais des fichiers lua , alors que maintenant on programme que des fichiers CFG ..
Et ben (JE PENSE) que l'ont peut reprogrammé en .lua avec cheat engine :
Voila à testé il faut que je test , quand je testerai j'en dirais plus <img src='http://cs-hackers.com/forum/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt='' />
Petit Rappel :
Cheat Engine > Table > Show Cheat Table Lua Script