魔兽世界插件如何可以关闭游戏的声音但可以听到插件的声音

一条代码就能让你在《魔兽世界》里倾家荡产

无论是“金团”黑金黑装备,还是点卡金币/人民币交易,几乎每个《魔兽世界》玩家都被至少一种骗术羞辱过智商。受骗之后还能怎么办?除了拍脑门别再想着图方便、捡便宜,似乎也没有什么别的办法——至少在国服,***对受害者一般帮不上什么忙。

大部分《魔兽世界》骗术属于“社会工程学”范畴:伪造游戏 ID、运用人际交往技巧,取得受骗者的信任。但还有一种更厉害的骗术,运用了游戏内聊天系统里的“命令行”功能。代码如下:

《魔兽世界》玩家早就吃过命令行的亏,很多人都听说过骗公会会长退会和移交会长(/gquit, /gleader)的伎俩。但上面这一条命令的毁灭性更强,如果在你的游戏里输入,基本等于把整个游戏的控制权交给了骗子。

这是一条脚本命令,《魔兽世界》客户端界面脚本语言是 Lua(基于 C)。我们玩游戏的界面,比如动作条、角色的姓名版(血条)、施法条、伤害文字等等,无论是暴雪自带还是第三方界面或者功能插件,都是用 Lua 脚本语言写的。

画面中所有非 3D 的都是界面

RemoveExtraSpaces RunScript:都是游戏自带的合法函数,分别能把文字中无用的空格去掉,和让一段文字被识别为 Lua 代码

上面这条代码的功能是,每当前者运行时,都用后者代替前者后者在《魔兽世界》玩家每次收到聊天信息的时候都会运行,这条代码的结果就是,玩家收到的聊天信息将被当做 Lua 命令执行。

骗子会假装这段代码是某个绝版坐骑的兑换码,而坐骑对玩家的诱惑力是很大的。但其实,这段代码正是骗子“界面劫持”计划的第一步和最重要的一步。

这段代码有一个副作用:

受骗玩家的聊天系统不管用了。

别人发来的信息他看不见,因为信息都变成了 Lua 命令,而 Lua 命令运行除了报错以外没有任何提示的。如果玩家起了疑心、重启游戏的话,之前的努力就白费了。因此骗子需要远程重新启动玩家的聊天功能——当然是通过聊天的方式。因为,现在玩家的客户端已经变成“肉鸡”,骗子发什么命令,肉鸡就会执行什么命令。

骗子会发送这段命令给玩家,重启玩家的聊天功能

这样,玩家仍然可以正常在各个公共或私密频道聊天,但骗子会利用另一个功能“插件通信接口”(CHAT_MSG_ADDON),来向玩家的客户端继续注入代码。

“插件通信接口”同样也是暴雪开发并提供给第三方插件开发者的合法功能,通过这个接口发送的信息不回显示在玩家的聊天框上。很多人都用过 DBM 插件,它的团队警报实现方式,其实就是团长的插件通过“插件通信接口”向团员发送信息,团员的客户端插件收到这些信息,呼出对应的事件警报,

有些插件可以让插件通信接口的消息显示出来,大部分玩家看不到这些消息

就这样,一条一条恶意代码发送到受害玩家的客户端里。即便玩家没有***任何第三方插件,插件通信接口也是默认开放且无法关闭的,因为它是游戏运行的重要功能。

骗子可以自己编写恶意代码通过插件通信接口发送

所有代码的最终目标是完全劫持玩家的游戏界面。完成注入后,我们假定受骗玩家正在主城,骗子先找到他的准确位置,控制角色走到他的身边,通过插件通信接口发送代码,控制玩家的客户端启动交易,输入交易金额,点击确认。好了,你的钱都没了。

整个过程最可怕之处在于,骗子取得了玩家界面的完全控制权,远端对界面的控制通过代码实现,在受骗玩家在本地是完全看不见的。

新版本并未彻底解决这个问题

再过一个月,《魔兽世界》最新的 7.0 版本《军团再临》就将正式上线;事实上,起过渡作用的“前夕”版本已经实装。最近,暴雪以及游戏在各国的运营商针对该漏洞推出了一个在线修正(hot fix),但并未彻底解决问题:现在在命令行中输入以 /run 或其他字段开头的脚本命令,会弹出一个对话框,提示玩家使用自定义脚本可能会导致游戏金币损失,询问是否继续。

如果玩家选择是,当前的自定义脚本会执行,而且这个对话框不会再出现,之后的自定义脚本也会自动执行。

首先,不要输入 /run 开头的脚本命令。也不要贪,魔兽世界里没有任何隐藏代码能让你获得神装和隐藏坐骑。

其次,只使用暴雪自带的插件,在自己信任的插件聚合网站,或者单独插件作者自己的网站下载插件,并更新过期的插件,不去不知名的小网站下载。第三方插件本身就有运行脚本的能力,你永远不知道自己的角色别人能也控制。

高级主笔@PingWest US team,报道科技、生活方式、游戏、娱乐。新闻线索请加微信 lichtspektrum 并适当表明身份。

那些记忆的碎片| 回答数:3| 浏览:|

目前没有最佳回答! 回答问题,帮助别人,还能赢积分换礼品!

  • 追问: 点开后怎么调都弄不出声音,,,我看了好几遍,,语音提示始终开着,就是打本没语音提示 回答: 你用的是什么插件,大脚么还是多玩,不行就把DBM禁用然后在重新开启下 追问: 多玩魔盒,重新下载好几次,还是不行,,,愁死了== 回答: 嗯 我用的都是我自己整理的插件 都是在网站上面自己下载的 没出现过问题

  • 打开  DBM把界面调整出来 把声音点开 不行就从插件里面直接修改 如果还是不可以请重新下载插件

回答即可得1分。若被选为最佳***,您可获得悬赏分和10分系统奖励分。

可输入10000个汉字

[经验值>50可以上传图片]

如果你是一个游戏迷,或者说魔兽世界迷,那么你一定不会对插件这个东西感觉到陌生;如果你是一个用代码写人生的家伙,那么你一定要接触一下Lua这门语言;如果你只是对魔兽插件表示好奇,那么请保持这种好奇的态度。我们今天要说的,就是魔兽世界游戏插件的事情。

那么在做插件之前,你得要了解几件事情。

魔兽世界从2004年在中国登录已经有十多年的历史,迭代过N个版本,客户端也由最初的不到10个G发展到现在的40多个G。然而下载游戏时,你除了要考虑到你硬盘是否够用,下载的问题可以交给战网客户端,暴雪自己的线路绝对可以保证你在一个晚上就下载下来整个客户端。这里我要提醒下各位,你最好将你的游戏下载到一个移动硬盘里,毕竟客户端体积较大,下载到硬盘里那么你就可以带着硬盘随时调试或者玩魔兽啦,而且以及Blizzard的缓存,这些目录有可能是隐藏掉的,上网找一下如何让它们显现出来的方法,如果你找不到这些目录,那你仍然可以上网找一下,这里就不再贴目录了,windows和mac下的目录不一样,但是大致都差不多;找到这些文件,不要犹豫全部删掉它,一点不剩。然后重装你的战网。

接下来***完战网客户端之后就要***游戏了,不过我们先不要***游戏,首先去注册一个美服的战网让我们可以登录美服,注册的时候我们选台湾地区,因为是实名的,会让我们输入***号。

帐号有了之后,我们并不马上打开客户端,打开你的战网客户端配置文件目录,过程如下:

windows下,打开C盘(系统盘),用户,你的机器名字,找到AppData;AppData这个文件默认是隐藏的,所以你需要在文件夹选项里点击查看,勾选显示 隐藏文件、文件夹,这样就可以看到AppData了!点击Roaming,找到;

Locales是你的登录器语言,加入zhCN就是简体中文版登录器;

客户端测试及语言设置,Config.wtf文件修改为:(此项也可以不用修改)

修改完成后进入客户端,选择北美地区,登入战网,之后点***,战网就会下载美服客户端。下载完成后如果要登入国服帐号,选择中国地区,客户端会自动下载汉化更新,这样你的战网就可以既登录美服,也可登录国服了。

毫无疑问,接下来要说的就是插件的语言了。魔兽世界使用Lua配合xml对插件进行开发,游戏逻辑使用Lua,界面使用xml。做过Cocos2dx的朋友应该使用过Lua进行过快速开发,做为一个小巧的脚本语言,它在游戏开发中还是很有市场的。接下来我们要做的就是在电脑上***Lua;

lua官方网站上有详细的***过程,英文好的同学可以自行看原文进行操作。

下载lua,,页面显示了lua的各个版本,建议下载最新版本。下载后解压缩会生成一个目录。

用终端进入到目录里,具体操作就是在终端里输入cd,中间加个空格,然后把你目录的路径复制到那里(把文件往终端里一拉就有了)。你不知道widows的终端怎么进?win+R,输入cmd,就出来了。

***完成后在终端直接敲lua,看看***是否成功。

***完成后我们就可以在终端进行lua的学习了,语法学习是一个枯燥的过程,建议找本书照着例子多敲,这里我们推荐书《Programming in Lua》,网上有中文的翻译,想快速上手写的话可以看这篇帖子,先大致了解下lua的语法,。

我们魔兽的所有插件都会以文件夹的形式保存在World of Warcraft/Interface/AddOns下,我们以后做的插件放在这里才会被系统识别。不过本篇我们不说插件制作的事情,这里只是告诉读者,这里是我们进入魔兽插件开发的入口。

我们要用到的插件库叫做wowace,ACE3库以及其他的函数库是目前大多数插件必备的内置库,ACE3库集成了魔兽世界插件中经常用到功能的和函数,极大方便了插件作者提高开发效率。wowace现在更新到了3版本,且各个版本之间不向下向下兼容,所以你最好选择一个稳定的版本做开发。

这里我们给出库的下载地址,以及API文档,。

上有wowace版本控制系统,注册一个帐号,你可以在svn或者git上与你的朋友一起写插件。

这个网站可以把你的插件发布到平台上,另外你也可以在这里下载别人的插件进行学习。

大致能想到的现在就是这么多,我也是刚刚开始做,如果遇到问题,我们可以交流。我还会将我做插件的过程记录下来,同大家一同学习。

参考资料

 

随机推荐