Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Основные игры > WarCraft 3 > WarCraft 3 Хаки
Присоединяйся к нам

WarCraft 3 Хаки Хаки, читы в Wc3



Ответ
 
Опции темы Опции просмотра
Старый 25.05.2011, 10:23   #1
This? On Melancholy Hill




 
Аватар для UnDeaDRoCUser
 
Регистрация: 18.09.2008
Адрес: system32
Сообщений: 5,237
Репутация: 1415
Отправить сообщение для UnDeaDRoCUser с помощью ICQ Отправить сообщение для UnDeaDRoCUser с помощью Skype™
Автор Сообщение

Simple Cam Distance 1.25b / 1.26a [Source included]


This is a simple cam distance to 1.25b and 1.26a
This is not safe to play on battle.net, use at you own risk.
The purpose of this topic is only to learn how to code a mh!

Program used to compile: Rad Studio XE, but Dev C++ is also compatible and free!

Download: [Ссылки скрыты от гостей.]
Source: [Ссылки скрыты от гостей.]

Цитата:
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <Tlhelp32.h>
using namespace std;
#define PATCH(i,w,l) WriteProcessMemory(hProc,reinterpret_cast<LPVOID>( gameBase+i),w,l,&dSize)
void patchW3X();
void patchwar25b(HANDLE hProc, DWORD gameBase, DWORD dSize);
DWORD GetPIDForProcess(char* process);
DWORD GetDLLBase(char* DllName, DWORD tPid);
void EnableDebugPriv();
int main(int argc, char *argv[])
{
SetConsoleTitle("W3X Basic Cam Distance for 1.25b/26a [by DarkSupremo]");
patchW3X();
system("PAUSE");
return EXIT_SUCCESS;
}
//-------------------------------------------------------------------------------------------------------------
void patchW3X()
{
DWORD PID = 0;

puts("-------------------------------------------------------------------------------");
puts("This is a Basic Cam Distance for 1.25b and 1.26a designed to who want learn how to code a mh!");
puts("Please, if you will use this code on your project, give me the credits too!");
puts("Program developed by DarkSupremo [www.GarenaMaster.com]");
puts("-------------------------------------------------------------------------------\n");
puts("Searching for Warcraft 3...");
while(FindWindowA("Warcraft III", NULL) == NULL)
{
Sleep(500);
}
puts("Searching for Warcraft 3 PID...");
if(GetPIDForProcess("war3.exe") != NULL)
PID = GetPIDForProcess("war3.exe");
if(GetPIDForProcess("War3.exe") != NULL)
PID = GetPIDForProcess("War3.exe");
puts("Enabling Debug privilege...");
EnableDebugPriv();
puts("Opening Warcraft 3 Process...");
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, PID);
if(hProc)
{
puts("Searching Base Address of Game.dll");
DWORD gameBase = GetDLLBase("Game.dll", PID);
DWORD dSize = 0;
puts("Patching war3...");
patchwar25b(hProc, gameBase, dSize);
}
}
//-------------------------------------------------------------------------------------------------------------
void patchwar25b(HANDLE hProc, DWORD gameBase, DWORD dSize)
{
//1.25b

unsigned long oldprotector25b;

while (1)
{
system("CLS");

puts("Welcome, this is a Cam Distance hack to 1.25b and 1.26a\n");
float realdistance; // set the distance here!
puts("Enter your wanted Cam Distance (Recommended: 2300)");
scanf ("%f",&realdistance);

DWORD camAddr = gameBase + 0x93645C;

VirtualProtectEx(hProc, (void*)camAddr, sizeof(float), PAGE_EXECUTE_READWRITE, &oldprotector25b);
PATCH(0x93645C, &realdistance, sizeof(float));
VirtualProtectEx(hProc, (void*)camAddr, sizeof(float), oldprotector25b, &oldprotector25b);

puts("Done!\n\n");
system("PAUSE");

}


}
//-------------------------------------------------------------------------------------------------------------
DWORD GetPIDForProcess(char* process)
{
BOOL working=0;
PROCESSENTRY32 lppe= {0};
DWORD targetPid=0;
HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROC ESS ,0);
if (hSnapshot)
{
lppe.dwSize=sizeof(lppe);
working=Process32First(hSnapshot,&lppe);
while (working)
{
if(strcmp(lppe.szExeFile,process)==0)
{
targetPid=lppe.th32ProcessID;
break;
}
working=Process32Next(hSnapshot,&lppe);
}
}
CloseHandle( hSnapshot );
return targetPid;
}
//-------------------------------------------------------------------------------------------------------------
// enable the privilege necessary to patch the process
void EnableDebugPriv()
{
HANDLE hToken;
LUID sedebugnameValue;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) puts("Failed to Enable Debug Options!");
if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue))
{
CloseHandle(hToken);
puts("Failed to Enable Debug Options!");
system("PAUSE");
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof tkp, NULL, NULL)) CloseHandle( hToken );
}
//-------------------------------------------------------------------------------------------------------------
DWORD GetDLLBase(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;

}
DarkSupremo(с)
__________________
[ [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | [Ссылки скрыты от гостей.] | ]

[ [Ссылки скрыты от гостей.] ]

  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 22:53. Часовой пояс GMT +4.