穷物格理之常用数据结构寻找
刚学习之前我觉得CALL很重要,事实的确如此,但做了之后发现想做好辅助,你更需要的是一些数据,比如说 怪物数组,地面数组等等 这类数据在辅助里经常会用到.
如果说占据一个比例的话 那么 数组占 50% CALL40% 内存10%
说来惭愧,一开始学CALL的时候太专注于CALL了,以至于半年了都不会找,于是乎又痛苦了半年,才小有成就.
下面说说,几个常用方法和经验吧,算不上原创,不过还算实用
在一般的游戏里数据结构分为 数组 和 链表, 当然还有更BT的 二叉树 三叉树 等等
万事万物,格物致知
[背包结构]
我觉得所有游戏数据结构最好找的,原因如下几点.
1.很容易获取到,不像地面掉落数组,你得打怪,还得防止他消失
2.很容易改变数据,一般找背包结构最常用的2种方法是, 找数量 还有找背包物品的基址.
现在就介绍这 2种方法吧
说之前先说几点,第一,目前最常用的找数据方法是 动态寻找,何为动态寻找呢? 那就是改变 数据 ,比如说 改变物品数量 改变与怪物的数量
从单机开始用到现在.
那么 如果不会动呢? 比如说NPC卖物品的商店 结构. 呵呵 这个等下面再说.
[方式一]
假如 背包里 有一种药物 ,数量 为 30 , 在CE搜 30 ,然后改变其数量, 最后搜到一个或几个结果,然后去寻找 查找写入的代码吧...
[方式二]
那么找不到数量怎么办?
那就试试第二种方法吧,找基址,什么是基址这里就不谈了,自己看汇编书去.
假如 背包里 有3个物品 .分别放在 1,2,3格子里, CE搜 未知 数值, 然后 把第一格物品移到其他地方,然后搜索 0 ,在放回去 搜索改变的值
最后剩下一个或 二个 .查找访问的代码 即可获取到 数组结构公式,
那么这样都找不到呢?那就看我下一个帖子吧,这里只是常用方法.
从上面可以看到 我们第一次 查找了写入的代码 第二次却用了 访问的代码.如何正确的使用这2个,使很多新手朋友痛疼不已
顾名思义 , 写入就是往 内存地址里写值, 访问 就是 读取了 内存地址里的值.
那么就很简单了, 一般的话 基址类的值就用 访问 数据类的 就用写入, 比如说 你找血值, 那么你就要找到 什么代码往这里写入血的值.
[怪物结构]
最常用的一个了,想写过滤怪物功能就必须用到这个.
[方式一]
最常用的,就是用距离来查找. 首先 选定一个怪物 (是选定不是选中) ,然后搜索 浮点数 未知
然后就是 缩小 与怪物直接的距离,或者 拉大 距离 ,分别搜 减少的数值 或 增加的数值
不断重复最后剩下1-3个,查找写入的代码 即可看到写入距离的代码
然后跟踪吧.
[方式二]
找名字
这种方法远没有上面的好用,而且得看运气,
具体的是 搜索怪物名字 , 这里注意了, 如果用ASKII码 或者用UNICODE 都搜索不到 那么就去下一个UNICODE转换软件 转换成字节集在搜索
搜索到很多选项后,然后就一个一个试吧,
这里要注意 比如说 23e000 兔子 那么你不要去直接查找访问或写入 23e000 而是要去搜索这个值 ,当前你得确定这个地址是最开始的值,
搜索到地址后,然后再访问这个搜出来的地址.
[方式三]
找血量
这种方法也算是不错的了,不过经常会和目标搞混掉,具体的跟方式一一样 ,找到血量的地址然后查找写入的代码
当你只搜索出来目标的值,那怎么办呢, 你可以双开游戏,一个窗口 打怪物,另外一个窗口 搜索血值
[地面掉落结构]
这个是一个比较头疼的结构,很多游戏,在超过一定时间便会消失,这也是没办法的事
[方式一]
还是找距离吧,跟上面的一样.
[方式二]
找名字,还是跟上面一样.
[方式三]
找掉落物品的数量
搜索未知,掉一个,搜增加的值,减少一个就搜减少的值.
当然不一定能找到就是了,因为很多游戏都没有这个值
[技能结构]
也算是比较好找的
[方式一]
最常用也是最实用的,搜索 技能CD时间(施放间隔时间) 一般找的都是回城一类CD很长的
首先搜索 浮点数未知 或者 整数未知, 然后 释放完技能后 用减少的值吧.
找到后,使用写入的代码查找
[方式二]
找名字,跟上面一样
[方式三]
找ID,这个比较麻烦,你得事先知道技能ID值, 一般由技能CALL获取
即使有的话也不好找,通常会找到很多匹配项
[任务结构]
做自动任务脚本必须要的 [方式一]
通过打怪的数量来查找, 注意 这里最好用byte 类型查找
[方式二]
通过任务名字 或者 任务内容查找,方法上述
[方式三]
通过关键词查找
[方式四]
通过任务数量查找
[装备结构]
如果想做自动修理功能就要用到
[方式一]
最常用的就是查找耐久了,这里注意 最好用byte 类型查找
[方式二]
查找名字或者介绍
[队友结构]
可以写组队方面的功能,如队友加血==
[方式一]
队友数量,不断增加或减少队友数量来搜索增加或者减少的值
[方式二]
队友血量
[方式三]
队友ID,某些游戏角色ID是固定的,这样就可以给我们寻找数据带来方便
[方式四]
队友名字,字符串如何查找看上面
[方式五]
掉线值,一般的游戏队友掉线时不会立马退组的,通过不断上下线可以搜索到
[方式六]
距离,查找与队友的距离
[方式七]
坐标,搜索队友坐标,当然也有可能会搜索到玩家结构里的坐标
[方式八]
动作值,搜索不同的动作,比如说站立寻路打怪死亡
[宠物结构]
可以写宠物方面的功能
[方式一]
宠物的等级,血量以及一些其他的信息
[方式二]
宠物的召唤标志
[打坐CALL]
1.查找打坐标志
2.从技能入手(有些游戏打坐是个技能)
[骑马CALL]
1.查找骑马标志
2.从技能入手(有些游戏骑马是个技能)
[寻路CALL]
1.查找寻路标志
2.查找自身坐标
3.查找目标坐标(有些游戏带填入目的地坐标寻路功能)
4.查找寻路路线长度(未验证)
[走路CALL]
1.查找走路标志
2.查找自身坐标
3.查找目标坐标(有些游戏带填入目的地坐标寻路功能)
[普通攻击CALL]
1.查找访问目标ID的代码
2.查找技能(有些游戏普通攻击是技能)
3.查找自身的ID(有些游戏会把自身ID压入)
[技能攻击CALL]
1.查找技能结构数组,查找访问技能ID的代码
2.查找目标的ID
3.查找自身的ID(有些游戏会把自身ID压入)
[使用物品CALL]
1.查找物品结构数组,查找访问物品结构基址的代码
[选择目标CALL]
1.查找目标ID
2.查找访问怪物数组结构所选取怪物的ID
---------------------------------------------------------重楼专用分割线------------------------------------------------------------------------------
其实靠很多方法也可以找到结构信息,这里暂时先列一些常用的方法,如果你指望看了这些东西就能靠这些方法100%的找到数据,那你就错了.
游戏里存在的你才有可能找到.