当前位置: 首页 > news >正文

13.第二阶段x86游戏实战2-动态模块地址

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:12.第二阶段x86游戏实战2-CE找基地址

上一个内容通过CE找到了人物状态的基址,上一个内容中游戏是用64位启动的所以内存地址会很长,不管是32位还是64位找法都是一样的,后面会以32位为主

然后本次找模块的地址

首先找一下人物的状态

下图是32位版游戏的人物状态的基地址,公式是 [[[0x00FBEF6C]+0x60]+0x14C],0x00FBEF6C是基址,0x60是偏移,0x14C是偏移

然后有些游戏它模块(这里的模块指的是exe、dll、lib)的地址是会变的,模块变了这个人物状态的基地址就会变,也就是说这个游戏换个电脑或重启电脑之后现在找的人物状态的基地址就没法用了,所以接下来要把 0x00FBEF6C 换成模块基地址加偏移的方式,首先找模块地址,关闭CE打开OD,如下图只有CE打开过这个界面就要把CE关闭,如果不关闭OD没法附加

然后打开OD并附加到游戏,附加之后,在下图红框位置输入 dd [[0x00FBEF6C]+0x60]+0x14C,然后按回车键(Enter键)

然后下图红框位置就会显示人物状态了

然后右击选择硬件访问断点,如下图

然后它会在下图位置断下来,这里要注意下图红框位置的代码还没执行

然后关闭硬件访问断点,如下图

到这就通过OD找了一次基址,接下来找模块的地址

然后点击下红框的E,点击之前要记住现在的人物状态的基址 0xFBEF6C

然后下图红框的列就是模块的地址了,这么多模块要用哪个?继续往下看,看完就知道了

然后第一个模块的范围是A20000 到110D000这个范围,上方找的人物状态基址是 0x00FBEF6C,它正好在A20000 到110D000这个范围内,所以人物状态的基址要从第一个模块里找,怎么找?继续往下看

如下图用人物状态基址减去模块基地址,得出一个结果,这个结果就是模块基地址到人物状态基地址的偏移,现在的公式 [[模块基地址+0x59EF6C]+0x60]+0x14C 这样来使用,这样只要游戏不修改模块里的内容,地址就不会发生变化,也就是只要游戏的版本一样任何电脑都可以用这个公式来找人物状态基地址

模块里面的代码,也就是游戏更新了,模块+偏移的偏移会变,这怎么办?可以通过代码的特征去定位偏移,通过特征定位的方式后面再写,这种代码特征定位的方式放在基础中不合适

img


http://www.mrgr.cn/news/34341.html

相关文章:

  • 【Go】Go语言中深拷贝和浅拷贝
  • Java详细学习路线:从入门到精通的全方位指南
  • 数字人起飞!字节Loopy对口型功能上线 可根据语境匹配表情和情绪
  • 一个可以在线制作样本册,拥有海量样本图册模板可以套用的网站
  • Vert.x,Core - Future
  • 视频无损压缩工具+预览视频生成工具
  • Java 中使用 Gson 实现深度克隆 #什么是深克隆与浅克隆?#clone方法为什么不能直接通过某个对象实例在外部类调用?
  • 我设置了路由器自动切换ip,这会让我的账号登录地址经常改变吗
  • 奔驰「进退」两难
  • Webpack 常见配置项
  • apply、call和bind的作用和区别
  • 装饰器模式
  • Vue使用Vue Router路由:开发单页应用
  • 【网络协议栈】传输层的意义 和 UDP协议结构的解析(内含逻辑图解通俗易懂)
  • yolo自动化项目实例解析(四)ui页面整理1 (1.85)
  • kafka负载均衡迁移(通过kafka eagle)
  • 独立站崛起:2024全球商家共谋增长新蓝图
  • Kibana中突然看不到日志ElasticSearch突然采集不到日志问题解决分析
  • Linux——虚拟机和Windows间的文件传输方式
  • 【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(1)