DOTA作弊地址,持续更新
2011-12-23 10:49
253 查看
//////////////1.20E 来自BZ
1.24B
1.24E
代码中的patch是一个宏
其实,我把这些作弊代码放在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。
///////////////////////////////////////////////////大地图去除迷雾 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)
相关文章推荐
- 程序员资料,附下载地址,持续更新中!
- Android开发大牛们的博客地址(持续更新)
- android 各种组件使用以及详解和各种小demo地址集(持续更新中...)
- 常用速查地址, 持续更新
- Android 镜像地址[持续更新中]
- 通达OA的一些资源地址,持续更新
- NIPS 2106 优秀论文和代码下载地址集锦--持续更新
- 通达OA的一些资源地址,持续更新
- JetBrains系列pycharm、intellij idea 激活地址(持续更新)
- Android 开源项目地址备份(持续更新。。。)
- 程序员学习资料(1)—附下载地址,持续更新
- Windows Office key 持续更新地址
- 用到的Android第三方功能地址(持续更新)
- MSSQL部分补丁的列表及下载地址(持续更新)
- 分享一百多套开发视频教程的下载地址 持续更新收录中。。。。
- jar下载地址大全,老紫竹将持续更新并提供本地下载
- SAP 官方文档 地址收集 持续更新中...
- eclipse 测试常用插件,附地址,持续更新
- Android精品开源项目整理_V20131115(持续更新中..)--转载,×××××很多 开源项目下载地址