您的位置:首页 > 其它

DOTA作弊地址,持续更新

2011-12-23 10:49 253 查看
//////////////1.20E 来自BZ

///////////////////////////////////////////////////大地图去除迷雾   
patch(0x406B53,"\x90\x8B\x09");   
///////////////////////////////////////////////////大地图显示单位   
patch(0x2A0930,"\xD2");   
///////////////////////////////////////////////////大地图显示隐形   
patch(0x17D4C2,"\x90\x90");   
patch(0x17D4CC,"\xEB\x00\xEB\x00\x75\x30");   
///////////////////////////////////////////////////////分辨幻影   
patch(0x1ACFFC,"\x40\xC3");   
///////////////////////////////////////////////////////显示神符   
patch(0x2A07C5,"\x49\x4B\x33\xDB\x33\xC9");   
///////////////////////////////////////////////////小地图去除迷雾   
patch(0x147C53,"\xEC");   
//////////////////////////////////////////////////////显示单位   
patch(0x1491A8, "\x00");   
/////////////////////////////////////////////////////显示隐形   
patch(0x1494E0,"\x33\xC0\x0F\x85");   
////////////////////////////////////////////////////敌方信号   
patch(0x321CC4,"\x39\xC0\x0F\x85");   
patch(0x321CD7,"\x39\xC0\x75");   
//////////////////////////////////////////////////他人提示   
patch(0x124DDD,"\x39\xC0\x0F\x85");   
/////////////////////////////////////////////////显示敌方头像   
patch(0x137BA5,"\xE7\x7D");   
patch(0x137BAC,"\x85\xA3\x02\x00\x00\xEB\xCE\x90\x90\x90\x90");   
//////////////////////////////////////////////////盟友头像   
patch(0x137BA5,"\xE7\x7D");   
patch(0x137BB1,"\xEB\xCE\x90\x90\x90\x90");   
//////////////////////////////////////////////数字显攻速   
patch(0x802E67,"\x32");   
patch(0x13BA61,"\x90\xD9\x45\x08\x83\xEC\x08\xDD\x1C\x24\x68");   
DWORD tmp=0x802E64+GameAddr;     
//在这里请注意,为什么要使用一个tmp变量呢?
//Dll中的基址重定位是系统帮你改写的,这里我们也要考虑到 基址重定位 的问题
memcpy(LPVOID(GameAddr+0x13BA6C),&tmp,4);   
patch(0x13BA70,"\x8D\x55\xA0\x6A\x7F\x52\xE8\x27\x7E\x25\x00\x83\xC4\x14\x6A\x7F\x8D\x45\xA0\x50");   
/////////////////////////////////////////////数字显移速   
patch(0x802E67,"\x32");   
patch(0x13C3F2,"\x90\xD9\x45\x08\x83\xEC\x08\xDD\x1C\x24\x68");   
DWORD tmp=0x802E64+GameAddr;   
memcpy(LPVOID(GameAddr+0x13C3FD),&tmp,4);   
patch(0x13C401,"\x8D\x55\x98\x6A\x7F\x52\xE8\x96\x74\x25\x00\x83\xC4\x14\x6A\x7F\x8D\x45\x98\x50");   
//////////////////////////////////////////////资源面板   
patch(0x13EF03,"\xEB");   
/////////////////////////////////////////////允许交易   
patch(0x127B3D,"\x40\xB8\x64");   
//////////////////////////////////////////////显示技能   
patch(0x12DC1A,"\x33\xC0");   
patch(0x12DC5A,"\x33\xC0");   
patch(0x1BFABE,"\xEB");   
patch(0x442CC0,"\x90\x40\x30\xC0\x90\x90");    
patch(0x443375,"\x30\xC0");   
patch(0x45A641,"\x90\x90\x33\xC0\x90\x90");    
patch(0x45E79E,"\x90\x90");    
patch(0x45E7A0,"\x33\xC0\x90\x90");    
patch(0x466527,"\x90\x90");    
patch(0x46B258,"\x90\x33\xC0\x90\x90\x90");   
patch(0x4A11A0,"\x33\xC0");   
patch(0x54C0BF,"\x90\x33\xC0\x90\x90\x90");      
patch(0x5573FE,"\x90\x90\x90\x90\x90\x90");     
patch(0x55E15C,"\x90\x90");   
///////////////////////////////////////////////资源条   
patch(0x150981,"\xEB\x02");   
patch(0x1509FE,"\xEB\x02");   
patch(0x151597,"\xEB\x02");   
patch(0x151647,"\xEB\x02");   
patch(0x151748,"\xEB\x02");   
patch(0x1BED19,"\xEB\x02");   
patch(0x314A9E,"\xEB\x02");   
patch(0x21EAD4,"\xEB");   
patch(0x21EAE8,"\x03");   
/////////////////////////////////////////////////野外显血   
patch(0x166E5E,"\x90\x90\x90\x90\x90\x90\x90\x90");   
patch(0x16FE0A,"\x33\xC0\x90\x90");   
////////////////////////////////////////////////视野外点选   
patch(0x1BD5A7,"\x90\x90");   
patch(0x1BD5BB,"\xEB");   
/////////////////////////////////////////////////无限取消   
patch(0x23D60F,"\xEB");   
patch(0x21EAD4,"\x03");   
patch(0x21EAE8,"\x03");   
//////////////////////////////////////////////////过-MH(蓝宝石)   
patch(0x2C5A7E,"\x90\x90");   
/////////////////////////////////////////反-AH   
patch(0x2C240C,"\x3C\x4C\x74\x04\xB0\xFF\xEB\x04\xB0\xB0\x90\x90");   
patch(0x2D34ED,"\xE9\xB3\x00\x00\x00\x90");   
////////////////////////////////////////////////////////////


1.24B
/////////////////////////////////////////////////////////////////////大地图去除迷雾
patch(0x74D103,"\xC6\x04\x3E\x01\x90\x46");   
///////////////////////////////////////////////////////大地图显示单位   
patch(0x3A201D, "\xEB");   
////////////////////////////////////////////////////////大地图显示隐形   
patch(0x3622D1,"\x3B");   
patch(0x3622D4,"\x85");   
patch(0x39A45B,"\x90\x90\x90\x90\x90\x90");   
patch(0x39A46E,"\x90\x90\x90\x90\x90\x90\x90\x90\x33\xC0\x40");   
/////////////////////////////////////////////////////分辨幻影   
patch(0x28351C,"\x40\xC3");   
/////////////////////////////////////////////////////显示神符   
patch(0x4076CA,"\x90\x90");   
patch(0x3A1F5B,"\xEB");   
///////////////////////////////////////////////////////小地图去除迷雾   
patch(0x356FA5,"\x90\x90");   
/////////////////////////////////////////////////////小地图显示单位   
patch(0x361EAB,"\x90\x90\x39\x5E\x10\x90\x90\xB8\x00\x00\x00\x00\xEB\x07");   
///////////////////////////////////////////////////////小地图显示隐形   
patch(0x361EBC,"\x00");   
//////////////////////////////////////////////////////敌方信号   
patch(0x43F956,"\x3B");   
patch(0x43F959,"\x85");   
patch(0x43F969,"\x3B");   
patch(0x43F96C,"\x85");   
////////////////////////////////////////////////////////他人提示   
patch(0x334529,"\x39\xC0\x0F\x85");   
///////////////////////////////////////////////////////敌人头像   
patch(0x371640,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x85\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");   
/////////////////////////////////////////////////////盟友头像   
patch(0x371640,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x84\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");   
////////////////////////////////////////////////////////////数显攻速   
patch(0x87E9A3,"\x25\x30\x2E\x32\x66\x7C\x52\x00");   
patch(0x87E9B0,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");   
DWORD tmp=0x87E9A3+GameAddr;   
memcpy(LPVOID(GameAddr+0x87E9BF),&tmp,4);   
patch(0x87E9C3,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");   
patch(0x339D34,"\xE8\x77\x4C\x54\x00");   
//////////////////////////////////////////////////////////数显移速   
patch(0x87E9A3,"\x25\x30\x2E\x32\x66\x7C\x52\x00");   
patch(0x87E9B0,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");   
DWORD tmp=0x87E9A3+GameAddr;   
memcpy(LPVOID(GameAddr+0x87E9BF),&tmp,4);   
patch(0x87E9C3,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");   
patch(0x339B94,"\xE8\x17\x4E\x54\x00");   
//////////////////////////////////////////////////////资源面板   
patch(0x3604CA,"\x90\x90");   
///////////////////////////////////////////////////////允许交易   
patch(0x34E822,"\xB8\xE0\x03\x00");   
patch(0x34E827,"\x90");   
patch(0x34E82A,"\xB8\x64\x90\x90");   
patch(0x34E82F,"\x90");   
//////////////////////////////////////////////////////查看技能   
patch(0x28EC8E,"\xEB");   
patch(0x20318C,"\x90\x90\x90\x90\x90\x90");   
patch(0x34FD28,"\x90\x90");   
patch(0x34FD66,"\x90\x90\x90\x90");   
////////////////////////////////////////////////////////资源条   
////////////////////////////////////////////////////////野外显血   
////////////////////////////////////////////////////////视野外点击   
patch(0x285C4C,"\x90\x90");   
patch(0x285C62,"\xEB");   
/////////////////////////////////////////////////////////////无限取消   
patch(0x57B9FC,"\xEB");   
patch(0x5B2CC7,"\x03");   
patch(0x5B2CDB,"\x03");   
////////////////////////////////////////////////////////过-MH   
patch(0x3C8407,"\xEB\x11");   
patch(0x3C8427,"\xEB\x11");   
//////////////////////////////////////////////////////////反-AH   
patch(0x3C6E1C,"\xB8\xFF\x00\x00\x00\xEB");   
patch(0x3CC2F2,"\xEB");   
///////////////////////////////////////////////////////////////////


1.24E

 ////////////////////////////////////////////////////////////////////////大地图去除迷雾
patch(0x74D1B9,"\xB2\x00\x90\x90\x90\x90");
////////////////////////////大地图显示单位
patch(0x39EBBC,"\x75");
patch(0x3A2030,"\x90\x90");
patch(0x3A20DB,"\x90\x90");
///////////////////////////////显示隐形单位
patch(0x362391,"\x3B");
patch(0x362394,"\x85");
patch(0x39A51B,"\x90\x90\x90\x90\x90\x90");
patch(0x39A52E,"\x90\x90\x90\x90\x90\x90\x90\x90\x33\xC0\x40");
///////////////////////////////////////////////////分辨幻影
patch(0x28357C,"\x40\xC3");
/////////////////////////////////////////////////////显示物品
patch(0x3A201B,"\xEB");
patch(0x40A864,"\x90\x90");
////////////////////////////////////////////小地图 去除迷雾
patch(0x357065,"\x90\x90");
////////////////////////////////////////////小地图显示单位
patch(0x361F7C,"\x00");
/////////////////////////////////////////////小地图显示隐形
/////////////////////////////////////////////敌方信号
patch(0x43F9A6,"\x3B");
patch(0x43F9A9,"\x85");
patch(0x43F9B9,"\x3B");
patch(0x43F9BC,"\x85");
/////////////////////////////////////////////他人提示
patch(0x3345E9,"\x39\xC0\x0F\x85");
////////////////////////////////////////////////敌方头像
patch(0x371700,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x85\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");
/////////////////////////////////////盟友头像
patch(0x371700,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x84\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");
////////////////////////////////////////////////////////////数显攻速
patch(0x87EA63,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
patch(0x87EA70,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
DWORD tmp=0x87EA63+GameAddr;
memcpy(LPVOID(GameAddr+0x87EA7F),&tmp,4);
patch(0x87EA83,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
patch(0x339DF4,"\xE8\x77\x4C\x54\x00");
//////////////////////////////////////////////////////////数显移速
patch(0x87EA63,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
patch(0x87EA70,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
DWORD tmp=0x87EA63+GameAddr;
memcpy(LPVOID(GameAddr+0x87EA7F),&tmp,4);
patch(0x87EA83,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
patch(0x339C54,"\xE8\x17\x4E\x54\x00");
//////////////////////////////////////////////////////资源面板
patch(0x36058A,"\x90");
patch(0x36058B,"\x90");
/////////////////////////////////////////// 允许交易
patch(0x34E8E2,"\xB8\xC8\x00\x00");
patch(0x34E8E7,"\x90");
patch(0x34E8EA,"\xB8\x64\x00\x00");
patch(0x34E8EF,"\x90");
////////////////////////////////////////////////显示技能
patch(0x2031EC,"\x90\x90\x90\x90\x90\x90");
patch(0x34FDE8,"\x90\x90");
/////////////////////////////////////////////////技能CD
patch(0x28ECFE,"\xEB");
patch(0x34FE26,"\x90\x90\x90\x90");
//////////////////////////////////////////////资源条
//////////////////////////////////////////////野外显血
///////////////////////////////////////////////视野外点击
patch(0x285CBC,"\x90\x90");
patch(0x285CD2,"\xEB");
//////////////////////////////////////////////////无限取消
patch(0x57BA7C,"\xEB");
patch(0x5B2D77,"\x03");
patch(0x5B2D8B,"\x03");
/////////////////////////////////////////////////////过-MH
patch(0x3C84C7,"\xEB\x11");
patch(0x3C84E7,"\xEB\x11");
////////////////////////////////////////////////////反-AH
patch(0x3C6EDC,"\xB8\xFF\x00\x00\x00\xEB");
patch(0x3CC3B2,"\xEB");
///////////////////////////////////////////////////////////


代码中的patch是一个宏

#define  patch(i,w)  memcpy((LPVOID)(GameAddr+i),w,sizeof(w)-1)


其实,我把这些作弊代码放在SPI的Dll里面也就是大家看到的%APPDATA%\\HackDll.dll,这个Dll被war3.exe加载,进入了war3.exe的地址空间,而我们修改魔兽作弊主要就是修改game.dll中的内存,也是在war3.exe的地址空间,同一个进程内的修改内存,当然只要 MOV 指令就能实现了呗,高级语言的memcpy编译成汇编以后就是
MOV 指令了...不过要记得先用 VirtualProtect 函数改变一下目标地址的保护属性,PAGE_EXECUTE_READWRITE

如果你的作弊代码是放在自己的EXE中,要修改war3.exe中的内存就是读写不同进程的地址空间了,方法很多,不过一般使用的是 WriteProcessMemory这个函数,所以你可以这样定义你自己的patch。

#define  patch(i,w)  WriteProcessMemory(hOpenWC3,(LPVOID)(GameAddr+i),w,sizeof(w)-1,0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: