So I decided to post a Tutorial for creating a simple hack for Black Ops Zombies, Works for Both online and SOLO.
So first create a new Project in C++ and add a source file named main
First need to include some stuff
Code:
//Including stuff
#include <iostream>
//windows.h for Handle of the window
#include <windows.h>
//include tchar.h
using namespace std;
#include <tchar.h>
windows.h is for Reading and writing to the process and finding the window.
using namespace std; is for not having to write std::string or std::cout for example, it is a simpler way of doing stuff!
NOW FOR MAIN
Code:
int main()
{
bool flyhack = false;
//setting up for flyhack, if it is on, use the hack, if it is off turn of hack
HWND hWnd = FindWindow(0, _T("Call of Duty®: BlackOps" )); // Setting up a handle for the window and finding window, setting hWnd as a handle for a window, and it is equal to Findwindow and the game name
float newdata = 425.25; // declaring a float value because we're gonna change the Y axis, declare it to the value you wanna change Y axis to!
if (!hWnd) // if window is not found
{
cout << "Could not find window" << endl;
}
//if it can find the window
else{
DWORD process_ID; // declaring a holder for the process id
GetWindowThreadProcessId(hWnd, &process_ID); // getting the process id and storing it in process_ID, and finding it through Window name
bool OnorOff = false; // if on, hack is on, if off , hack is off, can be used if u wanna have more hacks in the program
DWORD newdatasize = sizeof(newdata); // so you dont have to calculate how many bytes ur value is!!!! the value u gonna pass in to the game, and sizeof(newdata) means getting the bytes of the value, and storing it in newdatasize
// gotta make a handle
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_ID); // hProcess is a handle for the process with ALL ACCESS to the process
while (true) // while program is running
{
if (GetAsyncKeyState(VK_SPACE)){ // if SPACE is pressed
OnorOff = true; // set it to true
}
// now write to process
if (WriteProcessMemory(hProcess, (LPVOID)0x01C08B6C, &newdata, newdatasize, NULL)) // if the process was written to, write success to the command line! and write to memory, of the process, and writing to the HEX address of the Y axis of player, and the value that is written is "newdata" -> that will be your new Y Axis, and the bytes of it is newdatasize
{
cout << "Success!" << endl; // endl stands for end line, making the program start on a new line
}
}
}
system("pause"); // so the program doesnt close
}