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
}