求war3显蓝能现蓝的插件

2773人阅读
不知显蓝可否算是作弊,以前是用的别人写的的一个DLL,注入进去后就可以实现显蓝,今天参考BR自己搞了个,测试了下bug还是很多,必须要开始游戏前开启,如果在游戏中开启很容易使魔兽死掉,但还是发上来吧。
#include &stdafx.h&
#include &manabar.h&
#include &WinBase.h&
#pragma comment(lib,&Version.lib&)
#define ADDRESS LPVOID
#define GADDRESS LPVOID // game call
GADDRESS g16FF24;
// 27B950 6f27B950
GADDRESS g16FF68;
// 334C00 6f334C00
GADDRESS a16FF64;
// f606860
GADDRESS a16FF5C;
// f606370
GADDRESS a16FF58;
// 35A740 6f35A740
GADDRESS a16FF20; // 32D300
ADDRESS a16F088; //storm 0x191 #401
GADDRESS a2C7F10;
// as data
ADDRESS a16F08C;
ADDRESS a16F004;
ADDRESS a1698A0;
ADDRESS a16F090;
ADDRESS a16F06C;
ADDRESS a16F070;
ADDRESS a3000AC; // should always be 1
ADDRESS a3000B0;
BYTE _backData_1[5];
BYTE _backData_2[5];
BYTE a16F008[0x80];
char* a164684 = &scaleFactor&;
double a164A18 = 72; // ds:[.00
double a164A10 = 0.7487257; //ds:[.7487257
double a164A08 = 0.154064; //ds:[.154064
double a1649D4 = 0.; //ds:[]=0.
double a1649D0 = 0.;
double a1649CC = 0.3000000;
void __declspec(naked) f()
ebx, a16FF64
// ds:[F606860 (Game.6F606860)
edi, a16FF5C
// ds:[0016FF5C]=6F606370 (Game.6F606370)
// ds:[F35A740 (Game.6F35A740)
// ds:[]=0.
dword ptr [esi+0x58]
// ds:[]=0.
dword ptr [esi+0x5C]
// ds:[001649CC]=0.3000000
dword ptr [esp+0x4]
dword ptr [esp]
eax, dword ptr [esi]
eax, dword ptr [eax+0x64]
void __declspec(naked) f()
a16F004, eax
esi, a16F004
esi, 0x158
void __declspec(naked) f152950()
eax, a16F090
eax, dword ptr [eax+0x64]
eax, a16F090
eax, dword ptr [eax+0x64]
ecx, dword ptr [edi+0x158]
void __declspec(naked) f152980()
eax, a16F090
eax, dword ptr [eax+0x68]
void __declspec(naked) f()
a16F090, ecx
ebx, dword ptr [ebx]
dl, byte ptr [eax+ecx]
byte ptr [eax+a16F008], dl
// copy函数数组,下面替换其中的两个函数
eax, a16F008
ebx, f152950
dword ptr [eax], ebx
eax, a16F008
ebx, f152980
dword ptr [eax], ebx
dword ptr [a16F008+0X6c], f152950
dword ptr [a16F008+0X70], f152980
void __declspec(naked) f()
a3000AC, 0
edi, a16F004
eax, dword ptr [edi+0x50]
ebx, dword ptr [eax+0xC]
esi, dword ptr [ebx+0x158]
ecx, dword ptr [ebx]
eax, dword ptr [esp+0x10]
lea eax,a16F008
dword ptr [ebx], eax
// ds:[F27B950 (Game.6F27B950)
dword ptr [esp+0xC]
ecx, dword ptr [esp+0x10]
// ds:[F27B950 (Game.6F27B950)
dword ptr [esp+0xC]
eax, dword ptr [esi]
eax, dword ptr [eax+0x74]
ebx, a16FF64
//ds:[F606860 (Game.6F606860)
ebp, a16FF5C
// ds:[0016FF5C]=6F606370 (Game.6F606370)
ecx, dword ptr [esp+0x1C]
edx, dword ptr [esp+0x18]
// ds:[F334C00 (Game.6F334C00)
ecx, dword ptr [edi+0x30]
eax, a16FF20
// [F32D300
edx, a164684
dword ptr [eax+0x54]
dword ptr [esp+0x10]
dword ptr [esp+0x14]
qword ptr [a164A18]
qword ptr [a164A10]
dword ptr [esi+0x58]
dword ptr [esp+0x18]
qword ptr [a164A08]
dword ptr [esp+0x24]
dword ptr [esp+0x24]
dword ptr [esp+0x4]
dword ptr [esp+0x20]
dword ptr [esp]
eax, dword ptr [esi]
eax, dword ptr [eax+0x68]
void __declspec(naked) f()
a16F004, ecx
eax, a1698A0
// game.dll base
eax, a2C7F10
ADDRESS a6F37A563;
ADDRESS a6F37A968;
BOOL WINAPI ManabarOn()
VirtualProtect(a6F37A563, 5, PAGE_EXECUTE_READWRITE, &old);
VirtualProtect(a6F37A968, 5, PAGE_EXECUTE_READWRITE, &old);
unsigned char* p = reinterpret_cast&unsigned char*&(a6F37A563);
memcpy(_backData_1,p,5);
*p = 0xe8;
int X = (int)f - (int)p;
*reinterpret_cast&DWORD*&(p+1) = X;
unsigned char* p = reinterpret_cast&unsigned char*&(a6F37A968);
memcpy(_backData_2,p,5);
*p = 0xe8;
int X = (int)f - (int)p;
*reinterpret_cast&DWORD*&(p+1) = X;
VirtualProtect(a6F37A563, 5, old, &old);
VirtualProtect(a6F37A968, 5, old, &old);
return TRUE;
BOOL WINAPI ManabarOff()
VirtualProtect(a6F37A563, 5, PAGE_EXECUTE_READWRITE, &old);
VirtualProtect(a6F37A968, 5, PAGE_EXECUTE_READWRITE, &old);
memcpy(a6F37A563,_backData_1,5);
memcpy(a6F37A563,_backData_2,5);
VirtualProtect(a6F37A563, 5, old, &old);
VirtualProtect(a6F37A968, 5, old, &old);
return TRUE;
DWORD APIENTRY GetFileVer(
LPTSTR FileName,
LPTSTR lpVersion,
DWORD nSize)
SubBlock[64];
//首先获得版本信息资源的长度
InfoSize = GetFileVersionInfoSize(FileName,NULL);
//将版本信息资源读入缓冲区
if(InfoSize==0) return 0;
TCHAR *InfoBuf = new TCHAR[InfoSize];
GetFileVersionInfo(FileName,0,InfoSize,InfoBuf);
//获得生成文件使用的代码页及文件版本
unsigned int
cbTranslate = 0;
struct LANGANDCODEPAGE {
WORD wCodeP
VerQueryValue(InfoBuf, TEXT(&\\VarFileInfo\\Translation&),
(LPVOID*)&lpTranslate,&cbTranslate);
// Read the file description for each language and code page.
wsprintf( SubBlock,
TEXT(&\\StringFileInfo\\%04x%04x\\FileVersion&),
lpTranslate[0].wLanguage,
lpTranslate[0].wCodePage);
void *lpBuffer=NULL;
unsigned int dwBytes=0;
VerQueryValue(InfoBuf, SubBlock, &lpBuffer, &dwBytes);
lstrcpyn(lpVersion,(LPTSTR)lpBuffer,nSize);
delete[] InfoB
return dwB
void APIENTRY GetWar3Ver()
TCHAR tcTmp[MAX_PATH];
GetModuleFileName((HMODULE)g_dwGameAddr,tcTmp,MAX_PATH);
ODV(TEXT(&%s&),tcTmp);
TCHAR FileVer[64];
GetFileVer(tcTmp,FileVer,64);
ODV(TEXT(&%s&),FileVer);
if(lstrcmpi(FileVer,TEXT(&1, 20, 4, 6074&)) ==0)
g_War3Ver=_120E;
else if(lstrcmpi(FileVer,TEXT(&1, 24, 1, 6374&)) ==0)
g_War3Ver=_124B;
else if(lstrcmpi(FileVer,TEXT(&1, 24, 4, 6387&)) ==0)
g_War3Ver=_124E;
else if(lstrcmpi(FileVer,TEXT(&1, 25, 1, 6397&)) ==0)
g_War3Ver=_125B;
g_War3Ver=_UN;
BOOL WINAPI InitManabar()
*(int*)&a3000AC = 1;
HMODULE hMod = LoadLibraryA(&storm.dll&);
a16F088 = (ADDRESS)GetProcAddress(hMod, (LPCSTR)0x191);
a1698A0 =(LPVOID)g_dwGameA
*(int*)&veraddr = (int)a1698A0 + 0x636F5D;
unsigned char p120e[] = {0x55, 0x8B, 0xEC, 0x53};
unsigned char p124c[] = {0x00, 0x00, 0x75, 0x19};
unsigned char p124b[] = {0x80, 0xBE, 0xA8, 0x01};
unsigned char p124d[] = {0x7c, 0x1E, 0x8B, 0xC1};
unsigned char p124e[] = {0x8B, 0x50, 0x3C, 0x3B};
switch (g_War3Ver)
ODS(TEXT(&War3 Ver:UN&));
return FALSE;
case _120E:
*(int*)&g16FF24 = (int)a1698A0 + 0x1CB950*/;
// 6f27B950
*(int*)&g16FF68 = (int)a1698A0 + 0xx334C00*/;
// 6f334C00
*(int*)&a16FF64 = (int)a1698A0 + 0xx606860*/;
// 6f606860
*(int*)&a16FF5C = (int)a1698A0 + 0x013AB0/*0x606370*/;
// 6f606370
*(int*)&a16FF58 = (int)a1698A0 + 0xx35A740*/;
// 6f35A740
*(int*)&a16FF20 = (int)a1698A0 + 0xx32D300*/;
// 6f32D300
*(int*)&a2C7F10 = (int)a1698A0 + 0x1D63D0;
*(int*)&a6F37A563 = (int)a1698A0 + 0x166A14/*0x37A563*/;
*(int*)&a6F37A968 = (int)a1698A0 + 0xx37A968*/;
ODS(TEXT(&War3 Ver:120E&));
case _124B:
*(int*)&g16FF24 = (int)a1698A0 + 0x27B950 ;
// 6f27B950
*(int*)&g16FF68 = (int)a1698A0 + 0x334C00 ;
// 6f334C00
*(int*)&a16FF64 = (int)a1698A0 + 0x6068A0 ;
// 6f606860
*(int*)&a16FF5C = (int)a1698A0 + 0x6063B0 ;
// 6f606370
*(int*)&a16FF58 = (int)a1698A0 + 0x35A740 ;
// 6f35A740
*(int*)&a16FF20 = (int)a1698A0 + 0x32D300;
// 6f32D300
*(int*)&a2C7F10 = (int)a1698A0 + 0x2C7F10;
*(int*)&a6F37A563 = (int)a1698A0 + 0x37A563;
*(int*)&a6F37A968 = (int)a1698A0 + 0x37A968;
ODS(TEXT(&War3 Ver:124B&));
case _124E:
*(int*)&g16FF24 = (int)a1698A0 + 0x27B9B0
// 6F27B9B0
*(int*)&g16FF68 = (int)a1698A0 + 0x334CC0
// 0x6f334CC0
*(int*)&a16FF64 = (int)a1698A0 + 0x606950
// 0x6f606950
*(int*)&a16FF5C = (int)a1698A0 + 0x606460
// 0x6f606460
*(int*)&a16FF58 = (int)a1698A0 + 0x35A800
// 0x6f35A800
*(int*)&a16FF20 = (int)a1698A0 + 0x32D3C0
// 0x32D3C0
*(int*)&a2C7F10 = (int)a1698A0 + 0x2C7FD0
// 0x6f2C7FD0
*(int*)&a6F37A563 = (int)a1698A0 + 0x37A623
// 0x6f37A623
*(int*)&a6F37A968 = (int)a1698A0 + 0x37AA28
// 0x6F37AA28
ODS(TEXT(&War3 Ver:124E&));
case _125B:
*(int*)&g16FF24 = (int)a1698A0 + 0x27AC60;
*(int*)&g16FF68 = (int)a1698A0 + 0x333F50;
*(int*)&a16FF64 = (int)a1698A0 + 0x605F80;
*(int*)&a16FF5C = (int)a1698A0 + 0x605A90;
*(int*)&a16FF58 = (int)a1698A0 + 0x359A90;
*(int*)&a16FF20 = (int)a1698A0 + 0x32C650;
*(int*)&a2C7F10 = (int)a1698A0 + 0x2C7280;
*(int*)&a6F37A563 = (int)a1698A0 + 0x3798B3;
*(int*)&a6F37A968 = (int)a1698A0 + 0x379CB8;
ODS(TEXT(&War3 Ver:125B&));
FreeLibrary(hMod);
return TRUE;
}我是打算通过安装键盘钩子实现在游戏中动态开关显血的,但事实证明不行,必须要在游戏开始前开启改键。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:173363次
积分:2982
积分:2982
排名:第4943名
原创:97篇
转载:14篇
评论:188条
(1)(1)(1)(1)(2)(2)(1)(1)(1)(1)(1)(5)(2)(4)(10)(13)(12)(15)(28)(1)(8)1.20版本的显蓝显血的 加加改建_真三吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:78,271贴子:
1.20版本的显蓝显血的 加加改建收藏
那么谢谢了。。
1楼 12:02&|
相关的贴子353333850相关的图贴
2楼 12:02&|
谁有啊啊啊啊啊
3楼 12:08&|
登录百度帐号
内&&容:使用签名档&&
为兴趣而生,贴吧更懂你。&或谁能给个WAR3的显蓝插件?
谁能给个WAR3的显蓝插件? 10
要在VS或者浩方上面可以开的
我一般都打DOTA
有的话分不是问题
不区分大小写匿名
魔兽设置里面有
来这里下载。
因为在VS开挂式要封号的,所以上次见到显蓝插件是我没下载。对不住了
相关知识等待您来回答
魔兽争霸领域专家}

我要回帖

更多关于 war3显蓝 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信