求助,关于WAR3的war3显血改键工具具

【求助】关于模仿11对战平台war3改键所有英雄技能全部qwer实现 - 看雪安全论坛
该主题: "【求助】关于模仿11对战平台war3改键所有英雄技能全部qwer实现" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
注册日期: Jul 2012
现金: 0 Kx
获感谢文章数:0获会员感谢数:0
, 23:59:47
【求助】关于模仿11对战平台war3改键所有英雄技能全部qwer实现
各位好,我最近在做一个dota&war3改建工具
目前我已经实现了自动进局域网等功能,我目前想实现所有英雄都是qwer,由于每个英雄的技能键位都是不一样的,所以无法从传统setkeyboard的思路去切入,而且war3好像也没有什么编程接口。
自己研究了下,我的想法是从游戏内存去查找当前英雄是哪一个来进行判断,这方面我不是很擅长,我想了解下,或者各位大神给我一些提示,怎么去从内存中获取当前英雄的数据。
我的作品:
注册日期: Aug 2010
现金: 150 Kx
获感谢文章数:1获会员感谢数:1
, 01:00:05
mh的源码里去翻吧&&百度一大堆
注册日期: Jun 2009
现金: 262 Kx
获感谢文章数:8获会员感谢数:13
, 07:45:17
按键模拟鼠标点击可以不,定位技能栏坐标
注册日期: Sep 2012
现金: 63 Kx
获感谢文章数:0获会员感谢数:0
, 15:04:46
11平台应该是调用的War的按键CALL来实现的改建功能,&像楼主说的把英雄技能从&1&2&3&大招&按照&q&w&e&r排列的话,&&我觉得技能加点栏里面是个入口点
被 ErLeng 最后编辑
注册日期: Jun 2007
现金: 2074 Kx
致谢数: 28
获感谢文章数:36获会员感谢数:36
, 18:11:13
#include&&stdio.h&
#include&&windows.h&
#include&&TlHelp32.h&
DWORD&GetWar3DllBase(char&*&dllName)
&&DWORD&dwRet&=&0;
&&MODULEENTRY32&me32;
&&HANDLE&hSnapshot&=&CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,&0);
&&PROCESSENTRY32&pe32=&{0};
&&pe32.dwSize&=&sizeof(PROCESSENTRY32);
&&Process32First(&hSnapshot,&&pe32&);
&&&&&&&&if&(&lstrcmpi(&pe32.szExeFile,&&War3.exe&&)&==&0&)
&&&&&&&&&&&&dwRet&=&pe32.th32ProcessID;
&&&&&&//&&War3Pid&=&dwR
&&&&&&&&&&&&
&&&&printf(&%s\n&,&pe32.szExeFile);
&&}&while&(&Process32Next(&hSnapshot,&&pe32&)&);
&&&&CloseHandle(hSnapshot);
&&hSnapshot&=&CreateToolhelp32Snapshot(&TH32CS_SNAPMODULE,dwRet);
&&me32.dwSize&=&sizeof(MODULEENTRY32);
&&Module32First(hSnapshot,&me32);
&&while(Module32Next(hSnapshot,&me32))
&&&&if(lstrcmpi&(me32.szModule,&dllName)&==0)
&&&&&&return&(DWORD)me32.hM
&&return&0;&&
HANDLE&GetWar3Handle()
&&HWND&hWar3&=&FindWindow(NULL,&&WarCraft&III&);
&&DWORD&dwPid&=&0;
&&GetWindowThreadProcessId(hWar3,&&dwPid);
&&if&(dwPid)
&&&&HANDLE&hProcess&=&OpenProcess(PROCESS_ALL_ACCESS,&NULL,&dwPid);
&&&&return&hP
&&return&NULL;
BOOL&SetPrivilege(HANDLE&hToken,LPCTSTR&lpszPrivilege,BOOL&bEnablePrivilege)//improve&a&privilege
&&TOKEN_PRIVILEGES&
&&if(!LookupPrivilegeValue(NULL,lpszPrivilege,&luid))
&&&&//&&printf(&\nLookupPrivilegeValue&error:%d&,&GetLastError()&);&
&&&&return&&
&&tp.PrivilegeCount&=&1;
&&tp.Privileges[0].Luid&=&
&&if&(bEnablePrivilege)
&&&&tp.Privileges[0].Attributes&=&SE_PRIVILEGE_ENABLED;
&&&&tp.Privileges[0].Attributes&=&0;
&&//&Enable&the&privilege&or&disable&all&privileges.
&&AdjustTokenPrivileges(
&&&&hToken,&
&&&&FALSE,&
&&&&sizeof(TOKEN_PRIVILEGES),&
&&&&(PTOKEN_PRIVILEGES)&NULL,&
&&&&(PDWORD)&NULL);&
&&//&Call&GetLastError&to&determine&whether&the&function&succeeded.
&&if&(GetLastError()&!=&ERROR_SUCCESS)&
&&&&//printf(&AdjustTokenPrivileges&failed:&%u\n&,&GetLastError()&);&
&&&&return&&
BOOL&EnableDebugPrivilege()
&&BOOL&bRet&=&FALSE;
&&HANDLE&hT
&&if(OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken))
&&&&bRet&=&SetPrivilege(hToken,SE_DEBUG_NAME,true);
&&&&CloseHandle&(hToken);
&&return&bR
HANDLE&hWar3P
DWORD&dwGameB
DWORD&getDwordFromWar3(DWORD&addr)
&&DWORD&tmp,
&&ReadProcessMemory(hWar3Process,&(PVOID)addr,&&ret,&4,&&tmp);
//24b&0xACBDD8
//24e&0xACBDD8
//26&0xAB4F80
VOID&getKeybdLayout(DWORD&*key)
&&key[0]&=&key[1]&=&key[2]&=&key[3]&=&0;&&
&&DWORD&eax&=&getDwordFromWar3(0xAB4F80+dwGameBase);
&&if&(eax)
&&&&eax&+=&0x3C8;
&&&&eax&=&getDwordFromWar3(eax);
&&&&if&(eax)
&&&&&&DWORD&ecx&=&eax&+&0x154;
&&&&&&DWORD&edi&=&getDwordFromWar3(ecx)&+&8;
&&&&&&for&(int&i=0;&i&4;&i++)
&&&&&&&&eax&=&
&&&&&&&&for&(int&j=0;&j&3;&j++)
&&&&&&&&&&DWORD&esi&=&getDwordFromWar3(eax);
&&&&&&&&&&esi&=&getDwordFromWar3(esi+i*4);
&&&&&&&&&&if&(esi&&getDwordFromWar3(esi+0x94)&&getDwordFromWar3(esi+0x138))
&&&&&&&&&&{
&&&&&&&&&&&&DWORD&ebp&=&getDwordFromWar3(esi+0x190);
&&&&&&&&&&&&DWORD&tmpkey&=&getDwordFromWar3(ebp+0x5AC);
&&&&&&&&&&&&DWORD&keyIndex&=&getDwordFromWar3(ebp+0x59C);//0x5ac-0x10
&&&&&&&&&&&&DWORD&keyType&=&getDwordFromWar3(ebp+0x59C+4);
&&&&&&&&&&&&if&(keyType==2&&&&keyIndex&=0&&&&keyIndex&=3)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&key[keyIndex]&=&
&&&&&&&&&&&&}
&&&&&&&&&&}
&&&&&&&&&&eax&+=&0x10;
void&main()
&&EnableDebugPrivilege();
&&hWar3Process&=&GetWar3Handle();
&&dwGameBase&=&GetWar3DllBase(&game.dll&);
&&if&(dwGameBase&&hWar3Process)
&&&&DWORD&key[4];
&&&&getKeybdLayout(key);
&&&&for&(int&i=0;&i&4;&i++)
&&&&&&printf(&Key_%d=%c\n&,&i,&key[i]);
&&&&printf(&\nok.\n&);
&&&&printf(&cannot&find&game.dll\n&);
&&getchar();
注册日期: Jul 2012
现金: 0 Kx
获感谢文章数:0获会员感谢数:0
, 16:03:47
最初由 exile发布
#include&&stdio.h&
#include&&windows.h&
#include&&TlHelp32.h&
DWORD&GetWar3DllBase(char&*&dllName)
&&DWORD&dwRet&=&0;
&&MODULEENTRY32&me32...
找到了,war3的内存地址:
http://blog.csdn.net/breeze356/article/details/5889415
不知你的&&DWORD&eax&=&getDwordFromWar3(0xAB4F80+dwGameBase);&0xAB4F80是什么地址
注册日期: Nov 2012
现金: 43 Kx
获感谢文章数:0获会员感谢数:0
, 12:34:54
最初由 exile发布
#include&&stdio.h&
#include&&windows.h&
#include&&TlHelp32.h&
DWORD&GetWar3DllBase(char&*&dllName)
&&DWORD&dwRet&=&0;
&&MODULEENTRY32&me32...
1.24e读不到结果,读取的数据都是cccccccc,显然无效
注册日期: Aug 2010
现金: 40 Kx
获感谢文章数:0获会员感谢数:0
, 17:44:09
1、War3地图是一个512字节文件头&+&MPQ包&的文件。
2、MPQ包里的war3map.w3u是单位数据表。
3、MPQ包里的war3map.w3a是技能表。
DOTA地图是经过SLK优化过的,而且是没有优化技能表,也就是地图包里存在war3map.w3a,所以可以先从内存中找出当前英雄的ID,这个ID是一个256进制的4字节字符串,然后用这个字符串去SLK数据表中匹配当前英雄所拥有的技能ID,也同样是一个256进制的4字节字符串,然后用这个ID去匹配War3map.w3a里的数据,每个技能都有4条数据,是技能图标的学习状态和普通状态的XY格子坐标,根据这个坐标你可以判定到QWER分别对应哪4个技能,然后用键盘钩子改键就可以了。
顺便,玩DOTA的人基本都已经习惯了默认按键的,甚至DOTA2里都用的传统按键,QWER改键对DOTA来说意义不大。
该主题: "【求助】关于模仿11对战平台war3改键所有英雄技能全部qwer实现" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛论坛启用
用户控制面板
会员在线状态
『看雪众测/众包』
『Android 安全』
『iOS安全』
『求助问答』
『经典问答』
『资料导航』
『软件调试逆向』
『编程技术』
『加壳与脱壳』
『资源下载』
『WEB安全』
『漏洞分析』
『密码学』
『外文翻译』
『CrackMe&ReverseMe』
『招聘专区』
『职业生涯』
『15PB培训』
『麦洛克菲培训』
『茶余饭后』
『安全资讯』
『论坛活动』
6)PEDIY Crackme竞赛2009
7)看雪十周年专版
8)腾讯公司2010软件安全竞赛
9)2011 Exploit Me竞赛
『图书项目版』
《加密与解密(第三版)》
《C++反汇编与逆向分析技术揭秘》
《Android软件安全与逆向分析》
『论坛版务』
所有时间均为北京时间, 现在的时间是 .
&&& 看雪学院()
| 提供带宽资源
|&微信公众帐号:有钱没钱回家过年,提前祝大家春节快乐!
或许是因为联系上了“十周年”这样一个关键词,今年的 iPhone 实在是有太多可以说的了...
春节红包本来就是一个好彩头,而广大的用户朋友们图的也无非是一个全民参与的热闹气氛...
富士康以及其他供应商只有在“需求增加”时才能分到苹果的部分订单。
多家国内厂商都准备在澳大利亚推出旗舰产品,能否挑战苹果的主导地位呢?
物理Home按钮已经移除,三星可能会将指纹传感器移动到屏幕下方或者后置面板上。
不少人都认为 Snap 与 iPhone 还是蛮配的,特别是需要记笔记的朋友~
在系统的流畅性以及整体体验等方面上,Android 并没有达到 iOS 的高度。
在游戏中玩家将会来到一个剑与魔法的奇妙世界,这里充满了各种宝藏,当然也有各种怪物...
如果你喜欢可爱风格的作品的话,那么本作不会令你失望。
手握 Nexon 旗下多个人气角色授权的世纪天成把跑跑卡丁车的人气角色都搬进来了,这款...
《松鼠王国 (Red’s Kingdom)》是一款解谜冒险类手游,游戏中玩家将控制一个疯疯癫癫...
游戏的画风特效精致、角色造型可爱、色彩运用合理,再加上满满的日韩系风格,整体给人...
随着电子竞技的火爆,如今MOBA游戏已经不再是PC玩家们的专利了,手机上的MOBA游戏也是...
在这部作品当中,开发者用光与影的交相呼应为玩家讲述了一场关于找寻的故事,并且也让...
不少人都认为 Snap 与 iPhone 还是蛮配的,特别是需要记笔记的朋友~
不少用户在苹果的支持社区中反映了这个问题,它似乎只对 iPhone 6s 以及 iPhone 6s Pl...
配件制造商 LifeProof 于日前发布了旗下 NUUD 防水保护壳的新版本。
这款产品最大的特色在于它的充电模块,因为研发团队将充电插头都集成到了保护壳中
所有使用 InvisibleShield 保护膜的 iPhone 用户均可以在碎屏之后获得 100 美元的赔偿...
用了这款配件后,无线的AirPods岂不是又变回有线的了?
你要不要也用 iPhone 来帮助自己烧烤呢....
你心目中的AirPods愿望清单又是什么呢~
Mac OS下魔兽Dota改键工具。有需要的来。
注册时间 最后登录
在线时间77 小时 UID
主题帖子人气
青苹果, 积分 130, 距离下一级还需 70 积分
刚才看见别人帖子在分享Mac Lion下魔兽的安装程序。
帖子末了LZ询问Mac下有木有改键工具。
我几年前偶尔习得了Mac改键方法。
还并不知道原来很少人会Mac下Dota怎样改键。
所以现在拿出来分享一下。
这好像是我发的第二个帖子。
第一个帖子是询问SSD的。
结果一个鸟我的都没有。
帖沉了。我的心也沉了。呜呜。。。。
1: 安装一个改键软件: controllermate.(不光是给游戏用的,编程之类的都可以用)
下载地址:
2: 根据视频教程把改键设置成自己习惯的键位。
视频地址:
软件是英文的,不知道有木有中文的。
刚才帮忙发魔兽安装程序的LZ下载听他说他打不开第一个下载网页。
不知道是不是因为在国内被限制了。
第二个视频是youtube的。
打不开youtube的朋友,或者第一个软件下载不下来的朋友都可以留言或者加我QQ,我把软件跟教程发给你。
只能怪我不会用威风自己的上传文件的东西。也不会用115。。。
我只会用Dropbox。。。
或者需要的人都留言一下。
如果人多的话我就自己录下来做一部教程放去youku方便大家看。
软件界面:
谢谢大家捧场。
都尝试一下吧。Dota没改键还真是不大方便。
这个软件很不错。跟其他软件没冲突。
不会影响到游戏以外的键位。
<p id="rate_0572" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=4403087&pid=&fromuid=1&&&span &貌似现在要收费了,楼主有破解版的么~~·&/span&&/a&&人气 + 1
" class="mtn mbn">
<p id="rate_3885" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 3
" class="mtn mbn">
<p id="rate_0022" onmouseover="showTip(this)" tip="给力啊,放优酷吧,方便观看&人气 + 5
" class="mtn mbn">
<p id="rate_1288" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 5
" class="mtn mbn">
<p id="rate_928" onmouseover="showTip(this)" tip="谢谢楼主! 非常好用!&人气 + 3
" class="mtn mbn">
<p id="rate_4008" onmouseover="showTip(this)" tip="求mac版本war3 求了无数个帖子了 !!!&人气 + 3
" class="mtn mbn">
<p id="rate_359" onmouseover="showTip(this)" tip="&人气 + 3
" class="mtn mbn">
<p id="rate_905" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_2951" onmouseover="showTip(this)" tip="mark&人气 + 1
" class="mtn mbn">
<p id="rate_8828" onmouseover="showTip(this)" tip="如果能打平台了,有多少分,给你加多少分&人气 + 1
" class="mtn mbn">
评分次数10
感谢分享^_^
给力啊,放优酷吧,方便观看
感谢分享^_^
谢谢楼主! 非常好用!
求mac版本war3 求了无数个帖子了 !!!
威锋有你更精彩:)
如果能打平台了,有多少分,给你加多少分
注册时间 最后登录
在线时间1290 小时 UID
主题帖子人气
我能问个问题吗 ?我双系统win下,魔兽争霸打开后 屏幕两边是黑边,,怎么弄啊
注册时间 最后登录
在线时间77 小时 UID
主题帖子人气
回 1楼(jay3feng) 的帖子
引用第1楼jay3feng于 22:55发表的
:我能问个问题吗 ?我双系统win下,魔兽争霸打开后 屏幕两边是黑边,,怎么弄啊......呵呵,这个很简单。注册表改一下就好了。1分钟搞定。
注册时间 最后登录
在线时间2121 小时 UID
主题帖子人气
注册时间 最后登录
在线时间899 小时 UID
主题帖子人气
留着备用…
注册时间 最后登录
在线时间77 小时 UID
主题帖子人气
我魔兽都没有 楼主 要不发我个 给你留信箱
注册时间 最后登录
在线时间4656 小时 UID
主题帖子人气
注册时间 最后登录
在线时间673 小时 UID
主题帖子人气
楼主,youtube上不去,请给我发一个视频教程吧,多谢了!
注册时间 最后登录
在线时间946 小时 UID
主题帖子人气
对mxlandy于 19:13在楼主发表的主题评分:人气:+1;
刚才看见别人帖子在分享Mac Lion下魔兽的安装程序。
帖子末了LZ询问Mac下有木有改键工具。
我几年前偶尔习得了Mac改键方法。
还并不知道原来很少人会Mac下Dota怎样改键。
所以现在拿出来分享一下。
.......如果能打平台了,有多少分,给你加多少分
注册时间 最后登录
在线时间245 小时 UID
主题帖子人气
好东西,给力
不给力啊,不给力啊
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!

我要回帖

更多关于 war改键工具 的文章

 

随机推荐