游戏逆向实战(下)
在重开游戏和重开CE的情况下发现已经抓取到的地址无法读取游戏的数据了。

一般来说,游戏内会有大量的动态申请的内存,这些内存的具体位置在某次分配时决定,不固定,也难以预测。
void* addr=malloc(0x100);
addr每次运行时都不一样
但是游戏也需要一种方式去追踪这些不断变化的地址,如何知道游戏是怎么找到这个地址的?
此时可以使用到访问断点
计算机程序:逻辑和数据的结合
找到了数据的位置,如何找到数据相
对应的逻辑?
访问断点:寻找访问此数据的逻辑
访问断点:
访问断点:让代码在访问某地址的内存时产生异常,而被调试器捕获

软访问断点:在内存页面设置不可访问属性,代码若访问此页面则产生异常。
硬件访问断点:利用cpu提供的能力。例如对于x86架构,使用dr0-dr3调试寄存
器标记调试地址,cpu会在访问目标地址时自动产生异常。效率高。
重复之前点步骤查找血量数据后找到这个选项



游戏访问对象的数据时,通过基地址+偏移的形式寻址
通过游戏访问数据的方式,逆向成员的偏移量,定位基地址


更新: 2025-03-17 20:25:02
原文: https://www.yuque.com/yuhui.net/network/uhneli9tztlquk9i

评论(0)
暂无评论