This is an old hack I had on my computer. I MADE THIS HACK IN 1.22 (SOURCE IS BELOW) Back in the day people thought this would "kill battle.net" (yea right).
Three modes:
F4: Longloads for 4 min 30 seconds (I think max is 5 minutes before you d/c and lose), customizable. Only press ONCE, as soon as loading starts.
F5: Longloads manually until you press F6. Press before or during loading.
F6. Longload is OFF (won't work if you pressed the F4 mode though).
This is pretty useless and simple, but hey, it's a zmap feature.
Quote Originally Posted by undead_warrior View Post
dude Tyrano, i heard rumors that you're the next bendik... I really hope it's ain't so but in these pass few weeks, you're acting more and more like him... WAT THE **** DUDE..??
Quote Originally Posted by hohodyret View Post
But he still missing to credit someone....
Quote Originally Posted by Jolinar View Post
I second that.
This is the kind of shit that makes me want to leave this site for good. I have nobody to credit.
You guys are killing me. This is my hack, I wrote it in 1.22 and I just updated the offset. And no it isn't detected. Who should I give credit to? This is my offset, I found it, wrote the program. How did I get the idea to make it? Some guy on msn told me back in the day to make a hack that pauses loading. I told him it was easy to make and that there were tons of "longload" offsets and methods, made this with hotkeys as it was simpler to use.
Have I ever ripped a hack? I mean, COME ON.
Code:
#include
#include
#include
#include "inireader.h"
#include "colors.cpp"
using namespace std;
DWORD GetPID (char* proc);
void EnableDebugPriv();
DWORD GetDLL (char* DllName, DWORD tPid);
#define write(addr, ...) __write(addr, __VA_ARGS__, -1)
void __write(DWORD addr, ...);
int main(void)
{
EnableDebugPriv();
bool bPressed[4] = {false, false, false, false}; //Whoop, don't trigger multiple times
SetConsoleTitle("TyranO's TimeHack (LongLoad) for 1.24e");
DWORD Address = 0x60A33F;
CIniReader iniReader(".\\config.ini");
int sleep = iniReader.ReadInteger("Settings", "sleep", 270000);
if (GetPID("war3.exe") == 0)
{
cout << "WC3 Not found." << endl << endl; system("Pause"); exit(0); } else { SetColor(9); cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"; cout << "|||||||| ||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||"; SetColor(11); cout << "|||||||||||| |||||||| |||||| |||||||||||||||||||||||||||||||||| ||||| |||||||||"; cout << "|||||||||||| |||||||| |||| |||| |||||||| |||||||| |||| |||| ||||||| ||||||||"; SetColor(10); cout << "|||||||||||| ||||||||| ||||| |||| | ||||||| ||| |||| ||||||| ||||||||"; cout << "|||||||||||| ||||||||||| ||||||| |||||| ||| |||||| | ||| |||| ||||||| ||||||||"; SetColor(12); cout << "|||||||||||| ||||||||||| ||||||| ||||| ||||| || || |||| ||||||| ||||||||"; cout << "|||||||||||| ||||||||||| ||||||| |||| ||||||| |||| ||| | ||||| ||||| |||||||||"; SetColor(-1); cout << "|||||||||||| ||||||||||| ||||||| ||| ||||||||| ||| |||| |||||| ||||||||||"; cout << "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||" << endl; SetColor(-3); cout << "Press F4 to pause loading for "; cout << sleep/1000; cout << " seconds (Automatic). PRESS F4 only ONCE." << endl << "F4 mode cannot be stopped until timer is over. Default is 4 min 30 sec." << endl << endl; cout << "Press F5 to pause loading. " << endl << endl; cout << "Press F6 to stop longload. " << endl << endl; for(;;) { SetColor(-5); if(GetAsyncKeyState(VK_F4) && GetAsyncKeyState(VK_F4) && !bPressed[0]){ bPressed[0] = true; write (Address,0x00); cout << "TimeHack (automatic) is ON. It will be off in "; cout << sleep/1000; cout << " seconds."; Sleep(sleep); write (Address,0x01); cout << "TimeHack is now OFF." << endl << endl; } else if (!GetAsyncKeyState(VK_F4)) bPressed[0] = false; if(GetAsyncKeyState(VK_F5) && GetAsyncKeyState(VK_F5) && !bPressed[1]){ bPressed[1] = true; write (Address,0x00); cout << "TimeHack (manual) is ON."<< endl << endl; } else if (!GetAsyncKeyState(VK_F5)) bPressed[1] = false; if(GetAsyncKeyState(VK_F6) && GetAsyncKeyState(VK_F6) && !bPressed[2]){ bPressed[2] = true; write (Address,0x01); cout << "TimeHack is OFF."<< endl << endl; } else if (!GetAsyncKeyState(VK_F6)) bPressed[2] = false; } } } DWORD GetPID (char* proc) { BOOL working=0; PROCESSENTRY32 lppe= {0}; DWORD targetPid=0; HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS ,0); if (hSnapshot) { lppe.dwSize=sizeof(lppe); working=Process32First(hSnapshot,&lppe); while (working) { if (_stricmp(lppe.szExeFile,proc)==0) { targetPid=lppe.th32ProcessID; break; } working=Process32Next(hSnapshot,&lppe); } } CloseHandle( hSnapshot ); return targetPid; } void EnableDebugPriv() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; OpenProcessToken( GetCurrentProcess( ), TOKEN_ADJUST_PRIVILEGES |TOKEN_QUERY, &hToken ); LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &sedebugnameValue ); tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = sedebugnameValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges( hToken, false, &tkp, sizeof( tkp ), NULL, NULL ); CloseHandle( hToken ); } DWORD GetDLL(char* DllName, DWORD tPid) { HANDLE snapMod; MODULEENTRY32 me32; if (tPid == 0) return 0; snapMod = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, tPid); me32.dwSize = sizeof(MODULEENTRY32); if (Module32First(snapMod, &me32)){ do{ if (strcmp(DllName,me32.szModule) == 0){ CloseHandle(snapMod); return (DWORD) me32.modBaseAddr; } }while(Module32Next(snapMod,&me32)); } CloseHandle(snapMod); return 0; } //Darimus' write function (takes care of base, protection attributes and byte lenght) void __write(DWORD addr, ...) { DWORD GameDLL = GetDLL("Game.dll",GetPID("war3.exe")); HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, GetPID("war3.exe")); addr += GameDLL; va_list vl; DWORD arg; DWORD prot; unsigned char byte = 0; va_start(vl, addr); arg = va_arg(vl, DWORD); while (arg < 0x100) { byte = arg; VirtualProtectEx((void*)hProc,(void*)addr, 1, PAGE_EXECUTE_READWRITE, &prot); WriteProcessMemory(hProc, (void*)addr, &byte, 1, 0); VirtualProtectEx((void*)hProc,(void*)addr, 1, prot, &prot); arg = va_arg(vl, DWORD); ++addr; } va_end(vl); }
No comments:
Post a Comment