基地址和动态地址是一对好基友,他们相隔十万八千里,却紧密联系着
他们不用像唐僧取经一样翻山越岭,经历九九八十一难,因为他们有一种如同月光宝盒一样的交通工具,
我们叫它偏移
这节课我们就用CE来查找基地址和偏移的表达式

1.1扫描表达式

何为偏移?简单来说偏移就是两个地址之间内存距离,他的单位是字节.
当然并不是说所有的地址之间的偏移都是有意义的,
就好比两个城市之间没有直达的交通工具,你只能通过其他城市进行中转一样
而这个中转的过程,我们就叫它偏移表达式
我们来到教案游戏的第三层,在这一层里有很多的怪物,我们要通过攻击这些怪物来找到人物血量和基地址的偏移表达式.

打开CE,扫描4byte的1000

得到的60个结果,我们需要进一步过滤,打一个怪试试
怪挂了,剩余960的血量,CE过滤一下,只得到了一个结果

在这个地址上点右键,选择Find out what accesses this address选项,我们可以看到访问这个地址的所有代码

当然这只是当前这个状态访问的代码,如果我们做一些其他的动作,比如打怪等等,还会有更多的代码显示出来

这里我们可以看到,访问最频繁的是第一个代码,共有288次,这句代码的意义就是将寄存器eax里面存放的值传递给寄存器ecx,我们做一个了解即可,后面还会做详细讲解.
我们可以任意选择一条代码去继续分析,前提是逗号左右两边的寄存器不能一样,比如mov ecx,[ecx]

我们选择第一条,双击,或者点击
可以得到当前所有寄存器的数值


这里的eax就是我们要继续分析的地址,他的值是0xDC6070,由于这一条是没有偏移的,所以这个值和我们查找访问代码的地址是一样的,
我们直接用CE继续扫描0xDC6070,这里要注意的是,扫描十六进制地址必须要勾选16进制


这里得到的结果较多,我们需要ctrl+A选中全部,并点击

全部拉到下面来
接下来我们对这30多个地址挨个查找访问代码,找出有访问代码的地址
在对第三个地址访问的时候得到了两条带有0x14偏移的代码

我们任选一条地址进行双击或者点击


可以得到当前状态所有寄存器的值


我们要的是edx的值,等于0xD55A70
现在我们的偏移表达式变为了[[0xD55A70+14]] 这个[ ]代表着读地址里的值
接下来我们再次用CE扫描0xD55A70,
只得到了一个结果


对这个地址进行访问以后,可以得到一个+FC的偏移


此时表达式为[[[0xEA4D88+FC]+14]]
重复的操作得到第一条中edx的值,并在CE中进行扫描,
问题出现, 这一次没有扫描到任何结果


出现这种结果的情况有很多,我们尝试用之前学过的将快速扫描取消试一下

这里得到了一个不能被4整除的地址(PS:这是heart老师特意设计的一个小小的坑,你能想到么?)
继续查找访问这个地址的代码吧


可以得到一个+5的偏移,同样选择第一条,获取到eax的值为0xE959D0
现在的偏移表达式变成了[[[[0xE959D0+5]+FC]+14]]
还没到基地址,继续扫描
这次得到了一个绿色的地址


此时我们可以将偏移表达式写为[[[[[B9FB1C]+5]+FC]+14]]
这个绿色的地址我们暂时将它看成是基地址,我们需要后面用OD去进行验证才能确定
当然这个地址已经不会随着游戏重启而改变了
如果这个地址每次游戏启动都会变化,那么我们也可以用模块+偏移的形式来表示,比如:
[[[[[网络安全学院.exe+79FB1C]+5]+FC]+14]]
1.2 测试表达式
接下来,我们用CE去测试一下这个表达式是否正确(这里悄悄的换一下官方的CE,没有乱码)


点击Add Address Manually,

点击

再点击

添加偏移

这里一共有5层偏移,所以要添加4次


可以正常的显示人物血量了,说明我们的表达式是没有问题的

接下来大家可以用这个方法试试找到人物的坐标,层数等数据了.

【飞郁2022新课程】23 - CE找偏移表达式相关推荐

  1. 【飞郁2022新课程】31 - OD更多技巧

    上一节课,给大家介绍OD的一些基本的使用方法,当然OD不仅仅只有这些功能和指令,这节课咱们就来更深入的了解一下OD 对命令行插件进行操作 首先我们来了解一下数据窗口的命令行插件都支持哪些命令 之前说了 ...

  2. 【飞郁2022新课程】32 - xdbg的认识与设置

    xdbg的简介 Xllydbg(简称xdbg)和OD的用法和界面都是很像的,由于网络安全的发展,OD无法满足大部分人的需要了,更多的人习惯对xdbg进行处理,来达到正常调试的目的. 从官网下载一款xd ...

  3. 新课程研究杂志新课程研究杂志社新课程研究编辑部2022年第12期目录

    新课程研究杂志新课程研究杂志社新课程研究编辑部2022年第12期目录 特别关注     高校专业课程思政建设中存在的问题及建议 赵书玲;肖定华; 1-3     "双高计划"背景下 ...

  4. 新课程教学杂志新课程教学杂志社新课程教学编辑部2022年第11期目录

    新课程教学杂志新课程教学杂志社新课程教学编辑部2022年第11期目录 核心素养     基于任务群的高中语文大单元教学实践研究--以"杜甫沉郁顿挫诗风赏析"的单元教学为例 蒋梅; ...

  5. 新课程教学杂志新课程教学杂志社新课程教学编辑部2022年第19期目录

    核心素养     核心素养视域下的历史教学设计--以"清朝君主专制的强化"为例 王威; 1-3     新中考背景下文本分析能力与核心素养的培育 黄嫄; 4-5<新课程教学& ...

  6. 新课程导学杂志新课程导学杂志社新课程导学编辑部2022年第30期目录

    前沿<新课程导学>投稿:cn7kantougao@163.com     贵州四条线路入选"稻花香里说丰年"全国乡村旅游精品线路 邓小青; 1 基地     梯云村落, ...

  7. 2022年(23届)电子信息/通信工程保研|四非上岸浙大的保研之旅(浙大、中科大、哈工大、东南、南开、西电、成电等)

    目录 一.个人简介 二.投递/面试情况 三.保研准备 四.面试经历(每个学院具体的入营/面试/录取情况在相应的链接里面) 1.南开大学电子信息与光学工程学院(6.24) 2.吉林大学通信工程学院(6. ...

  8. 游戏辅助教程-地址篇 CE找地址技巧 找不可见数据和可见数据技巧 教程详解 常见搜索技巧列举 CE搜索入门教程详解

    该教程为系列教程,后续教程程会持续更新 对当前教程有疑问请在下方留言,我会按照大家建议修改和完善课程内容.请大家多多关注支持. CE找地址教程 目录 CE找地址教程 1.讲在前面 2.数值类型 3.搜 ...

  9. 【渝粤题库】陕西师范大学700011 新课程改革与生物教材研究

    <新课程改革与生物教材研究>作业 一.选择题 1.1921年弗雷德里克·班廷从狗的体内分离得到天然胰岛素.40多年后,首次人工合成结晶牛胰岛素的科学家是 A.中国人 B.加拿大人 C.美国 ...

最新文章

  1. Window对象中setInterval()和setTimeout()的区别
  2. ajax form不回调函数,jQuery ajax form提交在IE8下不执行回调函数
  3. When will the reference ATTRIBUTE_REF of an BOL entity be cleared
  4. 软件项目开发过程中主要遇到的核心问题小结
  5. Javascript 常用技巧 [2]
  6. js实现oss批量下载文件_js下载文件到本地各种方法总结
  7. Python 用pygame模块播放MP3
  8. es6 模块的语法概述
  9. 安装双系统window +ubuntu
  10. 笔记_深度学习相关_PyTorch
  11. 网站正在建设中_网站建设中如何设计更能吸引用户
  12. 线性代数第六版答案(全)
  13. 怎么清理ug10注册表_注册表清理优化工具用它就够了,赶紧上车!
  14. 西电2019计算机导论期中考试,西安电子科技大学203上学期期末考试计算机导论试卷.doc...
  15. 别人眼中的程序猿和现实中的程序猿差别在哪?
  16. system(“mode con cols=40 lines=15“)参数活起来
  17. Wavefront公司的.obj文件格式及.mtl文件格式
  18. Allegro焊盘种类
  19. 学IT,看教程,看视频,你必须知道的学习网站
  20. python +flask 制作一个实时热搜采集接口 加入百度热搜和微博热搜 并实时滚动代码 嵌入到你的帝国CMS或WP博客 或任意框架网站

热门文章

  1. 鲁大师显卡跑分测试软件,鲁大师跑分测试 鲁大师跑分零分怎么办
  2. 【翻译】对于Ext JS 5,你准备好了吗?
  3. vue路由小妙招用法
  4. 软件编程需要记吗?(工作中切记,天外有天,人外有人,务必谦逊低调,谨言慎行,不卑不亢,有礼有节,戒急用忍,与大家共勉!)
  5. 中文为什么没有词干提取_词干中没有小写字母
  6. Python 关于引用注意
  7. ThinkSNS积分商城系统功能详解!
  8. 关于催款程序的构思与实现
  9. CUDA: 程序优化的15个策略
  10. 工具变量:Shock-IV中预处理平衡的必要性