骷髅笔记 - 天涯明月刀
目录
天涯明月刀
npc等级
npc等级偏移的常见找法:
- 根据角色的等级偏移到npc对象里查找
- 通过当前选中怪物的等级来找
- 普通的方式,到怪物对象中进行偏移遍历
- 双开账号,通过另一个角色的等级提升进行查找
npc坐标
遍历npc坐标的几种方式
- 通过当前怪物血,名字等找到npc遍历,然后在对象周围进行遍历找到坐标。
- 通过搜索未知初始值来得到当前选中怪,有可能得到的是ID,也有可能得到的是对象,然后追写入的来源,并在周围遍历到坐标。
- 通过追角色的坐标对象,并在得到对象偏移的代码段下f2断点,f9运行得到一个不同于角色基地址的返回地址,返回后得到npc的遍历。
- 直接双开角色,查找其中一个的坐标。
角色速度
如何查找角色的速度,以及变态加速功能的实现:
-
通过改变角色的速度,比如上马下马,或者跑步走路,有速度值,比如走路100,跑步150,更常见。
-
通过角色的行走状态,比如走路1,跑步2,上马3
有可能是整数型,也可能是浮点(常见)。
1-10000 (常见)
角色朝向
角色朝向的几种常见数值:
- 从-1到1
- 从-π到π 或者从0到π
- 从0到360
- 其他程序员自定义朝向值
朝向在数据中的表现形式:
- 以一个值会变动的地址同时表现xy朝向,以单独的内存地址表现z朝向
- 以单独内存地址分别表现xyz朝向
遍历背包
遍历背包的几种方式:
- 遍历背包格子 数组较多
- 遍历背包物品 二叉数较多
遍历背包格子,通过数量来找,或者通过是否有物品来找
遍历背包物品,通过数量,背包位置,物品名称来找比较方便
另外有些游戏通过发包返回功能call,分析参数也可以物到物品的遍历
支线任务遍历
- 通过打怪数量
- 通过任务标志(接取和放弃任务)常见
- 通过任务名字或者任务描述
- 通过接任务或放弃任务call追参数
明文发包
-
首先确定是否为线程发包
-
然后确定明文包是否可以返回到功能call
技能冷却
技能冷却的查找
- 通过技能冷却标志位查找,常见的有搜索0和1,0和-1,-1就是FFFFFFFF或者字节型就是FF
- 通过技能冷却时间查找,常见的有从冷却开始时间增加和从冷却开始时间减少。
- 通过找到技能call并到附近观察跳转,找到判断技能是否冷却的方式。
技能名称及相关信息
大部分的游戏,技能的冷却与名字都不在同一个遍历下,为了得到全面的技能信息,需要通过搜索技能名称字符串找到技能的名字遍历,并通过技能ID与技能的其他信息进行关联。
天刀是utf-8的编码方式,需要通过工具将文本型转换成字节集进行搜索。
技能封包
-
发包找技能call。常见
-
使用技能,在蓝量上下写入断点。
-
在技能id上,或者在技能的冷却上下访问或者写入断点。
-
在技能栏上下访问断点。
选中npc和打开npc 封包
使用物品封包
- 使用明文包返回到功能call
穿装备封包
游戏小退封包
喊话call
- 在喊话内容上下访问断
- 喊话类型上下访问断
- 直接通过发包来找
喊话坐标的调用
自动复活
寻路
- 发包返回到寻路
- 通过目的地坐标,下写入断点直接找到寻路
- 通过目的地坐标,找到走路call,然后在走路call上下断,返回到寻路
地图遍历
- 通过当前地图id,下写入断点
- 通过地图名字,下访问断点
传送点遍历
- 通过传送call,跟踪返回参数,找到基地址。
- 通过传送点的名字来找
NPC对话(选项)
- 通过最后一句话进行一个发包,返回到点击npc选项的call上
- 选项的内容,下访问断点
- 通过对话的顺序,下访问或者写入断点
技能封包
剧情标志位
任务细节分析
-
第一种 怪物名字 或者 打怪数量的文本型
-
第二种 就是打怪的数量
分解及复刻装备
- 分解装备
- 复刻装备
拍卖之搜索
拍卖之遍历及购买
- 通过物品的数量
- 通过物品名字
- 通过拍卖页
万能按键call
- 通过明文包 (通过按键来触发的发包)
- 通过打开背包或者角色栏,找到标志位,下访问或者写入断点
日常任务之打坐
- 通过打坐获得的经验
- 通过打坐次数(已打坐次数或剩余次数)
日常任务之荡寇
动画标志
拍卖之词缀搜索
拍卖之词缀遍历
- ce内搜索词缀ID,然后分别下断,看哪个会被断下。
- 直接通过词缀名字进行搜索。
拍卖之上架
控件call
- 设置按钮,对选项的标志位进行写入
- 直接通过功能call返回
控件遍历
buff遍历
对象buff和技能预判
摆摊和收摊
代工遍历
摆摊移动call
狩猎100%命中
狩猎堆栈检测及关键点
3个重点
- 找到3个包 条件断点
- 朝向计算
- 堆栈检测(结构体内部)
x差==x2-x1
y差==y2-y1
z差==(z2-z1)/2
距离==(x差^2^+y差^2^+z差^2^)^0.5^
x朝向==x差/距离
y朝向==y差/距离
z朝向==z差/距离
画江山
加密坐标
搜索加密坐标的解决办法:(注意45度坐标)
- 搜索类型 换成字符串 (找突破口容易,逆向时困难)
- 在人物对象下寻找
- 搜索未知初始值(搜索过程复杂)
经验
- 当前经验 升级经验来搜索
- 最大经验值 搜索出一堆数据之后,数据一堆一堆得改。