魔兽开全图代码

本文提供了一个使用C++在Windows环境下对Warcraft III进程进行内存读写的示例代码。通过获取窗口句柄、进程ID及调整权限等步骤,演示了如何定位并修改指定地址的内存值。


发现好东西,。

-->
#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 ;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值