Natsukage / Fishers-Intuition

渔人的直感,最终幻想14钓鱼计时器
MIT License
93 stars 22 forks source link

关于读取游戏日志的请教 #1

Closed Jai-wei closed 3 years ago

Jai-wei commented 3 years ago

作者您好!由于还未掌握C#,无法理解源码。请问您是如何读取到游戏中人物状态的呢?我想使用python开发相关工具,想向您虚心请教一下读取游戏状态的方法qaq

Natsukage commented 3 years ago

获取玩家状态的方法就是单纯的读取内存中特定结构位置保存的数据。直感中读取的是客户端在处理eventplay数据包时使用的临时变量数值,大概原理在https://github.com/Natsukage/Fishers-Intuition/blob/master/how-to-find-offset.md 中有写到。
我不太清楚你问题中想问的究竟是是“要用什么方法读取内存数据”还是“如何找到特定数据的偏移位置”呢?

Jai-wei commented 3 years ago

我使用wizard找到了eventplay的opcode,但是不知道下一步该如何进行。 并且在您的介绍中提到了搜索ID“112、C49”。那么如果我想搜索其他动作,如何得知ID呢?

Natsukage commented 3 years ago

通过读取内存获得数据的话,opcode本身其实没什么用…游戏的同一个事件对应的opcode在每次游戏更新版本时候都会随机打乱的。
直感所读取的是游戏中eventplay事件处理过程中使用的临时变量。源码里面写的是跟踪调试后获得的结果而不包括过程。
获取这些偏移地址的过程一般是用IDA或者cheat engine等工具一步一步追踪出来的。这一部分需要你有一定的程序调试基础。

Jai-wei commented 3 years ago

好的,非常感谢!(看来还是要先精通IDA 呜呜呜