查看: 2895|回复: 9
打印 上一主题 下一主题

[其他] 梦幻也无解

[复制链接]
跳转到指定楼层
楼主
发表于 2015-8-11 01:56:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自:广东
1、瞬移功能的收益点
1)、藏宝图活动,可快速打宝图和挖宝(游戏本身每打/挖完一张会自动寻路下一张,NPC瞬移功能可略过自动寻路过程,实现不间断打/挖宝图)
2)、NPC相关任务(师门、主线、支线),点击任务面板均可瞬移到相应NPC完成任务,尤其方便前期小号刷级(比较多这种主线任务)。
2、漏洞实现使用工具
利用APKTOOLAPK包,IDA进行静态分析和动态调试,分析反编译出lua明文代码,修改特定脚本逻辑替换即可重现漏洞。
3、漏洞实现过程及实现原理
梦幻西游游戏玩家经常需要移动到NPC身边(主线/支线任务、NPC商铺、封妖、宝箱等),而游戏自身的寻路较为耗时。这里提到的漏洞可让玩家瞬移到目标NPC(通过任务面板或者小地图又或者屏幕内随意选中NPC),从而减少玩家这方面的时间消耗,尤其方便刷小号(新手阶段需要各种移动至NPC)。
通过IDA静态分析,可看出梦幻西游是采用Lua脚本进行游戏逻辑开发。由于Lua引擎是开源项目,直接分析该引擎代码可以知道Lua会通过lua_Reader函数读取脚本内容。因此,可直接在该点Dump Lua脚本代码。梦幻西游没有直接下发Lua源码,需要反编译出Lua明文代码(需要留意其对lua引擎进行了一定修改,Opcode需要还原)。在获取到游戏明文Lua代码后,仔细阅读分析挖掘即可,然后通过HOOK Lua引擎替换修改后的代码回去即可测试漏洞。
本报告提到的瞬移至NPC漏洞修改原理如下:
1、还原Opcode再反编译分析,能看到处理玩家移动到指定NPC的函数(CHero:walk_to_npc),直接修改该函数即可:调用底层的寻路函数(FindPath)获取移动路径,然后细化遍历相应路径点,伪造相关移动信息发送到(world.netaoi.C_MAP_MOVE)服务端,最后将玩家坐标设置到目的地(setMapPos)。一种简易的实现方式  明明知道为什么不打击
收藏收藏 分享淘帖 支持支持 反对反对 赞赞(0)
【论坛近期活动汇总】
回复

使用道具 举报

沙发
发表于 2015-8-11 10:02:50 | 只看该作者 来自:广东
火前留名
回复 支持 反对

使用道具 举报

3
发表于 2015-8-11 13:59:04 | 只看该作者 来自:广东
不多说,占个位置先
回复 支持 反对

使用道具 举报

4
发表于 2015-8-11 16:07:48 | 只看该作者 来自:辽宁
大神,网易需要你,策划需要你 留下电话地址 客服明天就联系你
回复 支持 反对

使用道具 举报

5
发表于 2015-8-12 09:01:21 | 只看该作者 来自:河南



真心不懂
回复 支持 反对

使用道具 举报

6
发表于 2015-8-12 11:39:25 | 只看该作者 来自:山东
………能瞬移了……点卡就没有那么高利润了
回复 支持 反对

使用道具 举报

7
发表于 2015-8-27 16:54:23 | 只看该作者 来自:山东
不是很懂LZ 说的
回复 支持 反对

使用道具 举报

8
发表于 2015-8-27 18:11:25 | 只看该作者 来自:北京
火前留名            
回复 支持 反对

使用道具 举报

9
发表于 2015-8-27 18:33:07 | 只看该作者 来自:福建
这么厉害....我去送快递了!
回复 支持 反对

使用道具 举报

10
发表于 2015-8-27 18:33:21 | 只看该作者 来自:广东
你已经中了伊邪那美,不放下执念只有陷入无尽的轮回
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则