All pastes #707856 Raw Edit

Miscellany

public text v1 · immutable
#707856 ·published 2007-09-23 10:46 UTC
rendered paste body
#include <Windows.h>
#include <cstdio>

int main(int argc, const char* argv[]) {
	DWORD dwOffset = 0x00622117;
	BYTE bEnable = 0x01;
	BYTE bDisable = 0x00;
	bool Enabled = true;

	STARTUPINFO sInfo;
	PROCESS_INFORMATION pInfo;

	ZeroMemory(&sInfo, sizeof(sInfo));
	sInfo.cb = sizeof(sInfo);
	ZeroMemory(&pInfo, sizeof(pInfo));

	if (CreateProcess(NULL, "WoW.exe", NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE, NULL, NULL, &sInfo, &pInfo)) {
		if (WriteProcessMemory(pInfo.hProcess, (LPVOID)dwOffset, &bEnable, sizeof(bEnable), NULL)){
			puts("Press END on your keyboard to disable the fix when prompted and HOME to enable it.\n");
			puts("Once WoW has finished loading fully please press END then log in.\n");
			puts("Once logged in (before or after entering the actual realm) press HOME to renable the fix and all model edits.\n");
			puts("Hopfeully this inconvenience is only temporary, a 'better' fix is being worked on right now.\n");
			while (true) {
				if (Enabled) {
					while (true) {
					if (GetAsyncKeyState(VK_END)&1) {
						WriteProcessMemory(pInfo.hProcess, (LPVOID)dwOffset, &bDisable, sizeof(bDisable), NULL);
						break;
					}
				}
				} else {
					while (true) {
					if (GetAsyncKeyState(VK_HOME)&1) {
						WriteProcessMemory(pInfo.hProcess, (LPVOID)dwOffset, &bDisable, sizeof(bDisable), NULL);
						break;
					}
					}
				}
			}
		}
	}
	CloseHandle(pInfo.hProcess);
	CloseHandle(pInfo.hThread);
}