免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
如果看不懂、不知道现在做的什么,那就跟着做完看效果
现在的代码都是依据数据包来写的,如果看不懂代码,就说明没看懂数据包
内容参考于: 易道云信息技术研究院VIP课
上一个内容:69.利用封包更新角色数据到结构体
到现在还有一半的距离就学完了,看了 网游逆向分析与插件开发 它可以掌握逆向的技能,可以随便逆,看了网络游戏逆向分析与漏洞攻防它就能掌握封包的技能,可以随意分析网络数据包利用数据包,当然现在还没写完。
然后到了现在核心的地方最难的地方,已经搞完了,现在人物基本信息有了,数据包拦截框架也有了,然后现在28数据包把人物创建完了,创建完了之后,人物移动之后人物的信息肯定会变,之前分析过接收的10开头的数据包,10开头的数据包是人物更新数据很重要的数据包,然后有没有其它数据包也是更新人物数据的现在不知道,本次就是要彻彻底底的把人物数据,就是把我们自己搞的类与游戏中的人物结构体对应起来,就是游戏人物的数据是什么,我们自己搞的类也要是什么,这样就能通过访问我们自己搞的类来访问游戏人物的信息了,本次就是要把更新信息的数据包给整理出来。
如果跟下方找出的数据包不一样,比如有的数据包找不到,或者找到了其它数据包,这种情况是正常的,下方只是查找更新角色信息数据包的方法,并不是游戏中100%是下方写的那样,找到的数据包具体以当时游戏为准
然后开始分析数据包
现在先回忆一下10数据包,下图的血量是2281,接下来会穿一件装备让血量增加
现在变成了2308
然后10数据包
然后通过数据类型表,可以准确看出29是HP
然后通过移动角色发现接收的21数据包是更新人物坐标
然后再登录一个角色,看看附近角色的创建与更新,是什么数据包,通过搜索对方角色HP来找
先用鼠标点击第一个,我们的 DataAnly.exe 程序是从鼠标选中的位置开始往后找
搜索
找到了一个
这个30数据包很大,猜测跟28数据包一样,如下图经过拆分它确实与28数据包一样,所以接收的30数据包是创建附近角色的
下面在看附近角色消失是什么数据包,如下图r角色已经离开(这个游戏在地图上按鼠标中间可以瞬移)
然后使用 r角色的id搜索(搜索之后会把所以出现搜索关键字的数据包高亮显示)
最后一次出现的位置是接收的31数据包,所以31数据包是附近角色消失的数据包
这里补充瞬移的使用方式,首先点击下图红框位置
然后鼠标移动到下图红框任意位置按鼠标中间,也就是按下滚轮键,就可以瞬移了
现在再瞬移回来
然后看对方角色数据更新的数据包,现在r角色的血量是1792
然后搜索1792
首先鼠标选中第一行
然后搜索
然后发现是接收的2D数据包
然后还有一个2E数据包,在打死对方角色的时候出现的,这个数据包很大
上图的数据类型是AF,AF在数据类型表中是 BufferListStr,buff列表,所以这个数据包应该很重要
然后10数据包也可以更新附近角色的信息,如下图10后面的id是r角色的id
然后有一个18数据包
18数据包里的B2、B3、B6与技能时间有关,如下图的数据类型表
技能名
然后再看看怪物的创建与消失的数据包,如下图已经把怪物打死了
怪物消失的数据包还是31
怪物创建的数据包还是30
30数据包里没有怪物名字,这说游戏中有一个怪物名字列表,上图162,在数据类型表里是资源的意思
然后有一个161,它的值是字符串
161在数据类型列表中的意思是配置id,所以它没有名字,需要根据这个id去一个列表中找名字
总结
18 技能属性更新
2D 更新人物属性
21 坐标
2E 大量人物属性更新
30 附近人物或NPC创建
31 人物或NPC消失