所谓的前车之辙后车不看,嗯,就是这样
大家都知道剑网 3 这游戏彻彻底底就是抄魔兽世界的,界面,设定,快捷键,魔兽世界有插件,剑网 3 也要有,而且,根据暴雪的要求,所有的魔兽世界插件不能编译(也就是 luac 是不允许用的,当然混淆是可以),一开始有一些插件为了收费混淆了,后来被抨击久了全改成原版代码了。而且,这些插件大量优秀产品,什么 xperl , bartender , dbm ,哪个不是千行万行级别的,有的插件光设置 tab 就七八个。
然后,剑网 3 也搬了这一套,开始做插件,第一次是几乎开放了所有权限,包括 IO ,这意味着什么,我在 lua 里直接操作你本地磁盘,何等卧槽的事情。当然,内测阶段搞插件的也没有干坏事的,金山也不是傻子,很快这些 IO 接口就封闭了。但是后来我们发现, load 和 loadstring 这两个函数还是可以用的,这意味着你可以绕过游戏的沙箱直接调用内部 API 去做一些外挂才能做的事,刚开始也没人拿这个干坏事,只是调用一些 3D 交互函数取一些玩家信息、坐标什么,后面真的有人去开发外挂了,甚至替换剑 3 的 lua 解析器去掉沙箱的屏蔽。
这只是前言而已,剑网 3 一直开放了你想都不敢想的函数,对就是 http 请求,包括 inapp-browser ,这意味着插件可以通过一些机制,合法的上传信息或者接受来自服务器的指令,一开始这也没什么,大家上传一下 dkp 分数,搞一下人口普查,但是别有用心之人在自己的插件里放了操控指令,可以接受远程服务器的喊话,你想,我一条指令下去全服 1/3 的人都在世界频道里艹你娘是个什么感觉。剑网 3 屁事多,若干个玩家爱横情仇(yuan cheng yue pao)不可开交,于是这个事就爆发了,那个插件作者为了自己(xx)之人使用了远程喊话,控制某阵营的所有插件使用者为 xx 道歉。
当然后来这个权限也去掉了,再加上插件白名单机制,剑网 3 花了可能有 3 年的时间,才做到了 wow 他看到的那个样子。
正所谓前车之辙后车不看,明知山有虎,偏要走一走。抄都抄不明白啊~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.