求一个过能用的魔兽多功能全图全图,能过11的最好...

查看: 4682|回复: 2
DOTA小地图全图绘制(可过11平台检测) 转
不得不说是DOTA挂开始让我我学习编程的。
以前的VS HF从互通图, 到全图,到自动补刀,到自动躲技能,主机T人,智辅无处不在。
以前早上六点跑到网吧只为了进VS的高级房间(苦逼屌丝买不起VS的VIP)。现在VS HF空空如也的房间怕是早就没人了吧。
现在DOTA平台应该也就只有11还能看得下去吧,下面直接开撸,最后的是压轴的
下面说的绘图都是基于你已经知道如何获取英雄的坐标了,(最后可能会有如何取得英雄单位的代码)。
readprocessmemory读取魔兽的内存,GDI画到游戏上
由于魔兽独占模式。GDI画上去会闪烁。效果非常差。当然可以采取窗口化魔兽,然后去掉边框,绘图像歌词软件那样做。总之效果不好,但是被平台发现的可能性几乎为0,总之不推荐。
2 D3D 绘图
HOOK D3d的present或者endscene?大概是这几个函数绘图,应该是我绘图技术不好,总觉得画起来挺难看的。 平台对这里可能会有检测。而且坐标的转换有些麻烦。
前面说的都是放屁,完全啥都没教。
下面的说的魔兽版本1.24E,game.dll基址默认6f000000。
3&&在魔兽内部绘制。
魔兽的小地图其实是一个255*255的DWORD二维数组
有两块内存区域。一块是原始的地图信息数据pOrg保存着原始的信息,用于恢复,一块是绘图用于显示给用户看的pPaint
过程是从porg复制到ppaint中,根据当前的游戏信息在ppaint上修改数据,然后显示给用户。完成后再复制porg到ppaint中,如此循环。
复制porg到ppaint的函数地址开头
6F362CD0& & 55& && && && && && && &&&PUSH EBP
6F362D5D& & 0F6F06& && && && && && & MOVQ MM0,QWORD PTR DS:[ESI]
6F362D60& & 0F6F4E 08& && && && && & MOVQ MM1,QWORD PTR DS:[ESI+8]
6F362D64& & 0F6F56 10& && && && && & MOVQ MM2,QWORD PTR DS:[ESI+10]
6F362D68& & 0F6F5E 18& && && && && & MOVQ MM3,QWORD PTR DS:[ESI+18]
6F362D6C& & 0F6F66 20& && && && && & MOVQ MM4,QWORD PTR DS:[ESI+20]
6F362D70& & 0F6F6E 28& && && && && & MOVQ MM5,QWORD PTR DS:[ESI+28]
6F362D74& & 0F6F76 30& && && && && & MOVQ MM6,QWORD PTR DS:[ESI+30]
6F362D78& & 0F6F7E 38& && && && && & MOVQ MM7,QWORD PTR DS:[ESI+38]
6F362D7C& & 0F7F07& && && && && && & MOVQ QWORD PTR DS:[EDI],MM0
6F362D7F& & 0F7F4F 08& && && && && & MOVQ QWORD PTR DS:[EDI+8],MM1
6F362D83& & 0F7F57 10& && && && && & MOVQ QWORD PTR DS:[EDI+10],MM2
6F362D87& & 0F7F5F 18& && && && && & MOVQ QWORD PTR DS:[EDI+18],MM3
6F362D8B& & 0F7F67 20& && && && && & MOVQ QWORD PTR DS:[EDI+20],MM4
6F362D8F& & 0F7F6F 28& && && && && & MOVQ QWORD PTR DS:[EDI+28],MM5
6F362D93& & 0F7F77 30& && && && && & MOVQ QWORD PTR DS:[EDI+30],MM6
6F362D97& & 0F7F7F 38& && && && && & MOVQ QWORD PTR DS:[EDI+38],MM7
255*255的DWORD数组。每一个DWORD数据就是一个颜色。比如0XFFAABBCC 表示alpha通道值为0XFF R=0XAA G=0XBB B=0XCC 也就是通道值+RGB (有可能是BGR,应该是BGR,如果我没记错的话)
TEMPV=[Game.dll+0xACD06C];
[TEMPV+0X1D8]&&为小地图像素的起始点 ppaint
[ [TEMPV+0X17C] ]&&为小地图像素的复制点 porg
当我们取得单位的坐标后。选择一个合适的地方HOOK 就可以修改像素点画图了。
比如我要在小地图的第一个像素点画一个红色,那么就是ppaint[0][0]=0xffff0000;(BGR 就是0xff0000ff);
如果你是修改ppaint,记得要在porg复制到ppaint以后,但是还没有展现给用户之前修改。如果是直接修改porg那就随意了,但是记得要保存一份porg的副本,否则你自己也没法恢复。
关键是找到一个合适的HOOK点,这部分常常要和dx的DLL打交道。多跟踪很容易找到合适的HOOK点,但是还是画不出原来的感觉。
4压轴的,也是我推荐的。直接使用调用魔兽的某些东西,让他自己画。
由于代码过去很久了,现在要我拿起OD找到具体位置我也懒得找了,直接上代码,照着记忆来说//位置结构。x,y不多说,unknown是3F800000。浮点数1.0??
struct Pos
{
&&DWORD x,y,
};
//由于但是是写成shellcode的,所以封装了函数
//storm.dll的地址
DWORD _declspec(noinline) GetStromAddr()
{
&&return 0x;
}
//game.dll的地址
DWORD _declspec(noinline)GetGameAddr()
{
&&return 0x6f000000;
}
//只要在某些地方HOOK,调用这个函数就可以小地图上画出英雄单位
void AllDraw()
{
&&DWORD HeroPoint,HeroN
&&HeroPoint=GetHeroAddrPFunc();//获取英雄单位链表。(我称他为链表~~:p:)
&&if (HeroPoint==0)
&&{
& &
&&}
&&HeroNext=*(DWORD*)HeroP//取出第一个单位的地址
&&while (HeroNext!=0)
&&{
& & BYTE Dead=0;
& & Dead=*(BYTE*)(HeroNext+0x20);//死了自然不用画
& & if(Dead==0x46)
& & {
& && && && && && && && &//没死就画
& && &MainDraw(HeroNext);
& & }
& & HeroPoint+=0x18;//链表自增
& & HeroNext=*(DWORD*)HeroP//取出下一个单位地址。直到为0表示没有了
&&}
}
//大地图坐标转小地图坐标的call 本来是有参数的。这里naked就不写了
void&&_declspec(naked) FloatCall()
{
&&_asm
&&{
& & push ebp
& & mov ebp,esp
& & pushad
& && &pushfd
& && &mov edx,[ebp+0xc]
& & mov ecx,[ebp+0x10]
& & push DWORD PTR SS:[ebp+8]
& & push eax
& & PUSH ESI
& & MOV ESI,DWORD PTR SS:[ESP+0x8]
& & FLD DWORD PTR DS:[ESI+0xC]
& & MOV EAX,ECX
& & FMUL DWORD PTR DS:[EDX+4]
& & FLD DWORD PTR DS:[EDX]
& & FMUL DWORD PTR DS:[ESI]
& & FADDP ST(1),ST
& & FLD DWORD PTR DS:[ESI+0x18]
& & FMUL DWORD PTR DS:[EDX+0x8]
& & FADDP ST(1),ST
& & FSTP DWORD PTR DS:[EAX]
& & FLD DWORD PTR DS:[ESI+0x4]
& & FMUL DWORD PTR DS:[EDX]
& & FLD DWORD PTR DS:[ESI+0x10]
& & FMUL DWORD PTR DS:[EDX+4]
& & FADDP ST(1),ST
& & FLD DWORD PTR DS:[ESI+0x1C]
& & FMUL DWORD PTR DS:[EDX+8]
& & FADDP ST(1),ST
& & FSTP DWORD PTR DS:[EAX+4]
& & FLD DWORD PTR DS:[ESI+8]
& & FMUL DWORD PTR DS:[EDX]
& & FLD DWORD PTR DS:[ESI+0x14]
& & FMUL DWORD PTR DS:[EDX+4]
& & FADDP ST(1),ST
& & FLD DWORD PTR DS:[ESI+0x20]
& & POP ESI
& & FMUL DWORD PTR DS:[EDX+8]
& & FADDP ST(1),ST
& & FSTP DWORD PTR DS:[EAX+8]
& & pop eax
& & add esp,4
& & popfd
& & popad
& & mov esp,ebp
& & pop ebp
& & retn
&&}
};
//这个确实不记得了
DWORD&&GetHeroLC(DWORD HeroAddr)
{
&&return *(DWORD*)(HeroAddr+0x58);
}
//获取坐标地址。填充需要的结构
void&&GetHeroLocData(DWORD HeroAddr,Pos * p)
{
&&p-&x=*(DWORD*)(HeroAddr+0x284);
&&p-&y=*(DWORD*)(HeroAddr+0x288);
&&p-&unknow=0x3f800000;//浮点1.0
}
void&&MainDraw(DWORD HeroAddr)
{
&&Pos pR
&&Pos pC
&&DWORD lc=GetHeroLC(HeroAddr);
& && &//获取大地图坐标
&&GetHeroLocData(HeroAddr,&pReal);
& & DWORD Gaddr=GetGameAddr();
//把大地图 转到 小地图结构
&&DWORD MiniVal=*(DWORD*)(Gaddr+0xACD06C);
&&LPVOID p1=&pC
&&LPVOID p2=&pR
&&DWORD p3=MiniVal+0x750;
&&_asm mov esp,esp
&&_asm
&&{
& & pushad
& & push p1
& & push p2
& & push p3
& & call FloatCall
& & add esp,0xc
& & popad
&&}
/*这里记得了,上面的GetHeroLC是用于计算玩家楼层。有一个标记。
所有的英雄单位还有一个数组,1表示要画图,0表示不要画图。*/
//想起来了,LC=楼层。
&&//FloatCall(MiniVal+0x750,&pReal,&pChange);
&&DWORD StartAddr=*(DWORD*)(MiniVal+0x2e4);
//StartAddr就是这个数组的地址
&&DWORD TempCount=*(DWORD*)(StartAddr+lc*4);
&&if (TempCount!=0)//如果数组里面显示要画了,那我们没必要多此一举
&&{
& &
&&}
&&DWORD Judge=*(DWORD*)(MiniVal+0x2f0);
&&Judge=*(DWORD*)(lc*4+Judge);
&&if (Judge==0)//这里还有个判断,不记得是干嘛的了。
&&{
& &
&&}
//把数组里面的值标记为1,表示要画出来
&&*(DWORD*)(StartAddr+lc*4)=TempCount+1;
//把这个结构放到一个位置,让魔兽画出来。
&&lc=lc&&4;
&&DWORD CopyAddr=*(DWORD*)(lc+MiniVal+0x2fc);
&&DWORD Offset=TempCount*3;
&&CopyAddr+=Offset*4;
&&((Pos*)CopyAddr)-&x=pChange.x;
&&((Pos*)CopyAddr)-&y=pChange.y;
&&((Pos*)CopyAddr)-&unknow=pChange.
}
//获取英雄表头
DWORD&&GetHeroAddrPFunc()
{
&&DWORD HeroAddrPoint=0;
&&DWORD Addr=0x55514+GetStromAddr();
&&memcpy(&HeroAddrPoint,(LPCVOID)(Addr),4);
&&if(*(DWORD*)(HeroAddrPoint+0x88)!=0x18)
& & return 0;
&&HeroAddrPoint=HeroAddrPoint+0x98;
&&//特别注意,这里返回值可能为0;
&&return HeroAddrP
}
复制代码总之就是只要在合适的地方填写好game.dll storm.dll的基址,调用
alldraw就可以了。
这个过过11还是没有任何压力的。。。难者不会。会者不难。说到这里,做一个自己用的小地图应该还是没啥压力的。
只是为某些想做小地图的人省去了OD调试找偏移的麻烦
大神,现在还能过11吗?
看看。。。。。。。
Powered by
& 最好的辅助编程技术论坛免费11全图辅助|笨笨熊妖妖全图辅助(11全图挂)V2 完美破解版-东坡下载
东坡下载:内容最丰富最安全的下载站!
→ 笨笨熊妖妖全图辅助(11全图挂) V2 完美破解版
因为11对战平台的特殊性,所以笨笨熊妖妖全图辅助是专门针对11对战平台开发的全新11全图挂。稳定防封,超神必用!如果你也热爱电竞、爱Dota、爱真三,那么这款辅助你一定不能错过。如果你觉得自己还有上分的潜力,那么同样可用。欢迎下载!免费好用吗笨笨熊妖妖全图辅助破解版特性兼容完善,游戏愉快完美兼容XP,win7/8,不用再怕换系统!强劲引擎,舒爽体验稳定防封技术,秒杀市面一切辅助流!全新界面,全新表现极简界面,安全协议,小学生都会用!全新布局,全新态度笨笨熊妖妖全图辅助,看似简洁,但不简单!免费11全图辅助怎么用笨笨熊妖妖全图辅助破解版使用方法1、下载解压后,运行11全图挂和破解补丁,拖拽破解补丁上的图片到辅助窗口,提示是否破解,点击【确定】2、破解成功后,输入账号密码:,【登入全图】3、成功登陆,进游戏即可体验轻松超神之旅测试效果图:免费11全图辅助真的不封号吗笨笨熊妖妖全图辅助封号问题说明如果小编在这里肯定的说:绝对不封号!你信不信?信的话就说明你还单纯,没有太多的接触这个社会。不信就对了。。。有绝对稳定的辅助?100%没有。因为世界上根本就没有绝对的事情。尽管辅助原本是收费的,收费的全图可能相对稳定。现在只是将它破解了,对功能无影响,但是,毕竟还是摆脱不了辅助的本质,还是得修改游戏数据,系统还是可以检测的到的!!!所以,不要相信什么绝对不封号!笨笨熊妖妖全图辅助可能相对稳定,只要你不是太过奔放,稳定一段时间应该没问题。笨笨熊妖妖全图辅助更新日志V2更新:1. 全新优化UI界面,让您体验最简洁2. 全面优化个别用户卡顿情况3. 完美支持真三ar 蓝宝石 概念版等等地图A4. 加入新功能:清除小雾 &清除大雾5. 其他细节优化及BUG修复
安卓官方手机版
IOS官方手机版
笨笨熊妖妖全图辅助(11全图挂)截图
起凡和11应该是目前国内最大的两个对战平台了,浩方啥的都不在之列了。这里,小编给大家带来2016年最新的11全图辅助,大多都是破解版的,免费的少,东坡小编也不可能分享收费辅助给大家,收费的上哪儿都有得下。需要...
中文 / 405KB2015,是网游井喷的一年,各种大
中文 / 3.5M​阿杰dota真三全图辅助就是
中文 / 6.0M小苹果全图(11对战平台Dota全图
中文 / 15.5M这是一款2016年最新的、专门针对
中文 / 6.6M太极全图是一个全新的Dota全图辅
笨笨熊妖妖全图辅助(11全图挂) V2 完美破解版
本类最新软件
本类软件推荐
13.8M / 05-20 / 2.0. 最新免费版
10.0M / 03-17 / 4.7.4.0官方防封防警告版
2.8M / 03-07 / 3.75免费破解版 【专用版】
22.1M / 02-17 / 1.2.2绿色免费版
907KB / 02-10 / 9.4最新破解版 【2017变态攻击】
本类软件排行
本类软件必备
刷***透视盒子全图
请简要描述您遇到的错误,我们将尽快予以修正。
轮坛转帖HTML方式
轮坛转帖UBB方式&您的位置:
魔兽小助手 v1.01(11对战平台全图***工具)
使用方法:要先开游戏 在开终结者 在开全图
100%过11对战平台
游戏攻略(0)其他版本(1)
《魔兽小助手 v1.01(11对战平台全图***工具)》游戏综述
魔兽小助手 v1.01
使用方法:要先开游戏 在开终结者 在开全图& 100%过11对战平台
注意:该软件会被360报毒,添加信任即可。
《魔兽小助手 v1.01(11对战平台全图***工具)》游戏攻略
《魔兽小助手 v1.01(11对战平台全图***工具)》其它版本下载
925 KB13092人气更新
《魔兽小助手 v1.01(11对战平台全图***工具)》下载地址
你可能还会喜欢
本类最新更新
最新推荐下载
&&&&类型:评分:7
别人正在下载...
如果你使用的是11平台,当运行1.24e魔兽后。进入操作界面的时候按...

参考资料

 

随机推荐