War3(魔兽争霸III)地图全开的源代码

没试过,网上流传的代码。估计是1.20e版本用的。

#include <windows.h>
#include <winbase.h>
int main()
{
    
//Find wc3 windows
    
HWND hwar3=::FindWindow(NULL,"Warcraft III");

    
HANDLE hcurrent=GetCurrentProcess();
    
HANDLE hToken;

    
BOOL bret=OpenProcessToken(hcurrent,40,&hToken);

    
LUID luid;

    
bret=LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);

    
TOKEN_PRIVILEGES NewState,PreviousState;
    
DWORD ReturnLength;

    
NewState.PrivilegeCount =1;
    
NewState.Privileges[0].Luid =luid;
    
NewState.Privileges[0].Attributes=2;

    
bret=AdjustTokenPrivileges(hToken,FALSE,&NewState,28,&PreviousState,&ReturnLength);

    
DWORD PID, TID;
    
TID = ::GetWindowThreadProcessId (hwar3, &PID);
    
//Open wc3 process
    
HANDLE hopen=OpenProcess( PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,FALSE,PID);


    
//Write memory
    
DWORD data=0x74;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F4069F0,&data,1,0);
    
data=0x8B;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A0E,&data,1,0);
    
data=0x09;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A0F,&data,1,0);
    
data=0x90;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A10,&data,1,0);
    
data=0x8B;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A13,&data,1,0);
    
data=0x09;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A14,&data,1,0);
    
data=0x90;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F406A15,&data,1,0);
    
data=0x90;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F29FE20,&data,1,0);
    
data=0x90;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F29FE21,&data,1,0);
    
data=0x00;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F149198,&data,1,0);
    
data=0x40;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0803,&data,1,0);
    
data=0x33;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0804,&data,1,0);
    
data=0xC0;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0805,&data,1,0);
    
data=0x42;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0806,&data,1,0);
    
data=0x33;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0807,&data,1,0);
    
data=0xD2;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0808,&data,1,0);
    
data=0xEB;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F14A0B4,&data,1,0);
    
data=0xEB;
    
bret=WriteProcessMemory(hopen,(LPVOID)0x6F2A0703,&data,1,0);

    
//Close handle
    
bret=CloseHandle(hopen);  
    
return 0;
}



[本日志由 JiaJia 于 2007-12-26 09:36 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: C/C++ 源码
评论: 2 | 引用: 0 | 查看次数: -
回复回复JiaJia[2008-11-23 11:04 AM | del]
是的
回复回复沧溟[2008-11-22 07:04 PM | del]
C++的?...
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.