吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 63012|回复: 356
收起左侧

[游戏安全] 植物大战僵尸之任意阳光修改

    [复制链接]
Roachsa 发表于 2019-2-10 12:23
本帖最后由 Roachsa 于 2019-2-24 20:33 编辑

游戏分析练习记录。

准备

  • 系统:Windows 10 专业版 64位
  • 软件:植物大战僵尸中文版
  • 工具:CheatEngine v6.8.2
  • 目标:任意阳光修改

分析

游戏运行时所需要的数据,一般都会放在内存中,以便随时获取,特别时对于一些经常修改的数值。

植物大战僵尸中的阳关值就是经常变化的数值,所以,想要对其进行修改,首先要在内存中找到它的位置。

使用CE附加到游戏进程上,准备对其内存进行搜索。

查看当前游戏中阳光值。

当前阳光值.png

在CE中进行第一次搜索。

CE第一次搜索结果.png

搜索结果有773个,太多了。进入游戏改变阳光值,进行第二次搜索。

CE第二次搜索结果.png

结果剩了一个,那么这个就是要找的内存地址了。有时不会这么快出现唯一地址的,只需要多改变几次数值,进行搜索即可。

双击结果中的地址添加到下方的地址列表中,修改该地址数值,查看游戏中的阳光值,验证该地址。

验证搜索结果.png

阳光值修改成功,证明该地址正确。

不过,这个内存地址只是临时的,是游戏中用来临时保存当前游戏局中阳光值的,重新开始关卡或者开始别的关卡,保存阳光值的地址就会发生变化。

但是,无论怎么变化,游戏总能准确的找到这个保存阳光的地址,那么游戏中一定存在一个基址,通过这个基地址,作为地址指针,经过一系列偏移,就可以确定每句游戏用来保存阳光值的地址了。

现在已经确定了当前游戏中保存阳光值的地址,那么通过查找有哪些地址访问了该地址,进而反向追溯,就可以找到阳光的基址了。

使用CE查找哪些地址访问了当前阳光保存地址。

CE查找访问地址_5560.png

可以看到有两个地址访问了当前阳光值地址,而这两个地址全都采用了 0x5560 的偏移量,所以寄存器的值就是上一级地址指针的中的值,为 0x1BC86BC8。

使用CE搜索哪些内存中保存着该指针。

CE搜索第一级指针.png

结果有很多,可以进行依次排除,不过,一般都是与其他结果相差比较大的就是我们要找的,这个是因为啥,我暂时没想明白。

这里就是结果中的第一个结果,加入地址列表。

查找访问哪些地址访问了该内存地址。

CE查找访问地址_768.png

可以明显看出,地址偏移为 0x768,寄存器中的值为 0x02809C80。

与上面一样,进行搜索。排除后有两个地址不确定,这两个地址都有一个固定地址访问,而且不同。

CE搜索第二级指针结果.png

出现两个基地址.png

分别是 0x006A9EC0 和 0x006A9F38。

不过,既然是基地址,那么都有可能是阳光值的基址,添加指针地址,重新开始游戏,确定基址。

设置两个指针地址.png

最后证明,这两个都是游戏的基址,额!

确定基址.png

可能是因为游戏版本的问题吧,两个基址都可以使用。

最后整理分析出的数据。

阳光的基址为:0x006A9EC0 和 0x006A9F38。

偏移依次为:0x0、0x768 和 0x5560。

阳光地址计算为:

第二级指针 = [006A9EC0]
第一级指针 = [第二级指针 + 0x768]
阳光值地址 = [第一级指针 + 0x5560]

依据这些地址与偏移,就可编写出任意修改阳光的程序了。

点评

看起来不错哦  发表于 2019-3-15 10:05

免费评分

参与人数 53吾爱币 +43 热心值 +43 收起 理由
庞晓晓 + 1 感觉这个精,有点low
小妖不吃象 + 1 + 1 我很赞同!
错过了一个亿 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
JK-loing + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
abset + 1 + 1 用心讨论,共获提升!
nangeaix123 + 1 + 1 谢谢@Thanks!
b1ackie + 1 + 1 谢谢@Thanks!
牧童 + 1 + 1 用心讨论,共获提升!
ywm0001 + 1 谢谢@Thanks!
滴大大 + 1 + 1 谢谢@Thanks!
郁闷的花开堪折 + 1 我很赞同!
chenchengudu + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hahahunqiu + 1 + 1 热心回复!
bangjzhx + 1 谢谢@Thanks!
91Mr_w + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
15639774670 + 1 我很赞同!
■、冰绿茶□ + 1 谢谢@Thanks!
Tomcrack520 + 1 用心讨论,共获提升!
hnwang + 1 + 1 谢谢@Thanks!
35620 + 1 谢谢@Thanks!
昆局水段 + 1 + 1 谢谢@Thanks!
aqsx1992 + 1 谢谢@Thanks!
lrg123 + 1 + 1 热心回复!
baifaqingsi + 1 热心回复!
哲家封神 + 1 + 1 我很赞同!
风清海蓝 + 1 + 1 谢谢@Thanks!
ZHANZHl + 1 + 1 我很赞同!
cmlayy + 1 + 1 用心讨论,共获提升!
葱头呀 + 1 + 1 谢谢@Thanks!
hnzwx888 + 1 + 1 我很赞同!
subaiyu + 1 我很赞同!
17607245935 + 1 用心讨论,共获提升!
西柚吾爱 + 1 + 1 用心讨论,共获提升!
Luctw + 1 + 1 用心讨论,共获提升!
Daihui + 1 + 1 用心讨论,共获提升!
reverse-hacker + 1 + 1 用心讨论,共获提升!
qq137194 + 1 我很赞同!
sayhi1984 + 1 + 1 我很赞同!
AngelEyes145 + 1 + 1 我很赞同!
lonznt + 1 我很赞同!
youhen233 + 1 + 1 谢谢@Thanks!
仲夜星辰 + 1 热心回复!
朔辰 + 1 + 1 谢谢@Thanks!
_Future_ + 1 我很赞同!
chao8709 + 1 + 1 热心回复!
玉生烟 + 1 + 1 我很赞同!
finalcrasher + 1 这是大象的ce教程,搬运注明出处
Mr.wens + 1 我很赞同!
和睦共处 + 1 + 1 用心讨论,共获提升!
lxw + 1 + 1 谢谢@Thanks!
半度微凉111 + 1 + 1 我很赞同!
mtl + 1 + 1 谢谢@Thanks!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

涛之雨 发表于 2019-2-20 19:49
这个难道不是到处都是教程的么

感觉错过了好多精华。。。。
另外,可以配合OD,直接把阳光值减少的代码改掉,
比如我之前做的就是直接赋值,省的再用CE来回的找了
duguquba 发表于 2019-2-12 07:53
头像被屏蔽
夜落花无声 发表于 2019-2-12 07:59
haoii123 发表于 2019-2-12 08:02
多谢楼主
qw78as45 发表于 2019-2-12 08:51
看下我的帖子。。。。
Ccp丶 发表于 2019-2-12 09:03
学习了 谢谢
waipojie123 发表于 2019-2-12 09:15
感谢分享
danheizhi 发表于 2019-2-12 09:29
谢谢楼主                  
jinyicool 发表于 2019-2-12 09:47
多谢楼主,好高深的知识
3863688 发表于 2019-2-12 10:26
这个好难啊,指针扫描也能找到
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 00:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表