鑫郁飞

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1116|回复: 0

《魔域》端游外挂技能分析

[复制链接]

飞郁管理

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

阅读权限
150
积分
90000
精华
66
主题
156
帖子
181
分享
0
日志
0
在线时间
61 小时
最后登录
2018-10-16
注册时间
2016-11-22
听众
0
收听
0
发表于 2018-5-13 15:49:59 | 显示全部楼层 |阅读模式
对于技能的分析,大部分游戏都是先分析技能函数的参数,得到技能ID后再继续分析,这样可以快速的判断我们分析的技能来源是不是正确的。所以我们先通过明文包断到技能函数,并对《魔域》的技能函数进行分析(如图1)
这个函数中我们很容易的发现第一个参数是技能ID,基本都是BBX这个格式的DWORD。顺着这个位置向上分析,发现无法得到真正的技能遍历,于是我们通过技能的名字继续分析。
CE中任意搜索技能名字,使用ASCII型,得到4个结果(如图2)
分别修改这些名字,发现第4个结果会改动技能名字(如图3)
我们用OD对这个地址下访问断点,再次访问后游戏断下(如图4)
通过堆栈分析出名字来源于第二层返回函数的第三个参数,我们跳到这个函数继续分析(如图5)
0xB5BA11处的代码并不会因为访问名字而断下,说明上面有跳转跳过了这条代码,分析代码以后,很容易发现0x5B59AC处的跳转直接跳到函数call    dword ptr [87C6AC]处,于是我们继续向上分析,得出第三个参数来源于0x5B599A处的call    0075EC40(如图6)
到函数内部得到+24偏移(如图7)
继续分析ecx来源,来到0x5B596C处的call    0075BD90(如图8)
到函数内部分析,可以得到一个数组循环和一个+2324的数组起始地址偏移(如图9)
[quote][/quote]

而返回后可以得到基地址8FC440,这样我们就得到了技能遍历的完整公式如下
[[8FC440+2324]+n*4]+1C 技能ID
[[8FC440+2324]+n*4]+24 技能名字ASCII
8FC440+2328 技能数组结束地址
回复

使用道具 举报

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

本版积分规则

QQ|吉林飞郁网络培训服务有限公司 ( 渝ICP备16011958号-1 )

GMT+8, 2018-10-21 18:25 , Processed in 0.796778 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表