吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 48412|回复: 173
收起左侧

[游戏安全] 植物大战僵尸之无限种植

    [复制链接]
Roachsa 发表于 2019-2-13 19:49
本帖最后由 Roachsa 于 2019-2-24 20:38 编辑

植物大战僵尸分析练习,第三篇。

本次想要实现的功能是无限种植,即一块方格上可以无限种植植物。

准备

  • 系统:Windows 10 x64 专业版
  • 软件:植物大战僵尸中文版
  • 工具:CheatEngine v6.8.2、吾爱破解专用版OllyDbg
  • 目标:无限种植

分析

整理思路,想要实现目标,需要寻找的有:

  1. 植物种下代码。
  2. 该方块是否可以种植。

以阳光值为切入点,定位当前阳光值地址。

当前阳光值.png

找出修改该处阳光值的指令。

修改阳光值的指令.png

我选择第一条mov指令进行分析。

记录该指令地址,使用OD附加游戏进程(此时需要退出CE)。

跳转到该地址,该指令所在函数功能很简单,就是修改阳光值。

0041BA60    56              push esi
0041BA61    8BB7 60550000   mov esi,dword ptr ds:[edi+0x5560]
0041BA67    8BD7            mov edx,edi
0041BA69    E8 12FFFFFF     call Plants_v.0041B980
0041BA6E    03C6            add eax,esi
0041BA70    3BD8            cmp ebx,eax
0041BA72    7F 0C           jg short Plants_v.0041BA80
0041BA74    2BF3            sub esi,ebx                              ; 减去所需的阳光值
0041BA76    89B7 60550000   mov dword ptr ds:[edi+0x5560],esi        ; 减少当前阳光值指令
0041BA7C    B0 01           mov al,0x1
0041BA7E    5E              pop esi
0041BA7F    C3              retn

下断,运行到上一层函数,对周围进行简单分析,可以猜测这里是植物种下代码逻辑。

0041083C    8B85 8C000000   mov eax,dword ptr ss:[ebp+0x8C]
00410842    80B8 14080000 0>cmp byte ptr ds:[eax+0x814],0x0
00410849    75 33           jnz short Plants_v.0041087E
0041084B    8BB5 38010000   mov esi,dword ptr ss:[ebp+0x138]         ; 猜测-esi的值为植物栏对象的地址
00410851    837E 30 01      cmp dword ptr ds:[esi+0x30],0x1
00410855    75 27           jnz short Plants_v.0041087E
00410857    8BC5            mov eax,ebp
00410859    E8 F2B50000     call Plants_v.0041BE50
0041085E    84C0            test al,al
00410860    75 1C           jnz short Plants_v.0041087E
00410862    8B56 2C         mov edx,dword ptr ds:[esi+0x2C]
00410865    8B46 28         mov eax,dword ptr ds:[esi+0x28]          ; 取得植物位置指令
00410868    8BFD            mov edi,ebp
0041086A    E8 71D20000     call Plants_v.0041DAE0                   ; 0x0041DAE0-获取当前需要减少的阳光值
0041086F    8BD8            mov ebx,eax
00410871    E8 EAB10000     call Plants_v.0041BA60                   ; 0x0041BA60-减少当前阳光值
00410876    84C0            test al,al
00410878    0F84 D4060000   je Plants_v.00410F52

找到的第一个小目标,现在确定种植判断。

运行到函数返回,可以找到函数调用位置。

004121FE    8B4D 0C         mov ecx,dword ptr ss:[ebp+0xC]
00412201    8B55 08         mov edx,dword ptr ss:[ebp+0x8]
00412204    51              push ecx
00412205    52              push edx
00412206    57              push edi
00412207    8BCB            mov ecx,ebx
00412209    E8 22DBFFFF     call Plants_v.0040FD30                   ; 0x0040FD30-种植植物函数
0041220E    E8 0DC3FFFF     call Plants_v.0040E520

从种植函数入口进行分析,寻找关键跳转。

0040FE25    57              push edi
0040FE26    53              push ebx
0040FE27    55              push ebp
0040FE28    E8 F3E1FFFF     call Plants_v.0040E020                   ; 判断该方块是否可以种植植物
0040FE2D    85C0            test eax,eax
0040FE2F    0F84 1F090000   je Plants_v.00410754                     ; 跳转为可种植

这里就是游戏对方块是否可以种植进行判断的代码。

两个所需的位置已经确定,想要实现无限种植,只需要对跳转代码进行修改,或者进一步分析判断函数。

最后实现效果。

最终实现效果.png

点评

植物能快速成熟不?  发表于 2019-2-15 11:40
思路很重要,很好  发表于 2019-2-14 22:46
程序员玩游戏的结果?  发表于 2019-2-14 19:44

免费评分

参与人数 20吾爱币 +25 热心值 +16 收起 理由
Nimue + 1 + 1 用心讨论,共获提升!
zozobreak + 1 热心回复!
waweaaw + 1 + 1 热心回复!
葱头呀 + 1 + 1 谢谢@Thanks!
tianzhongyushui + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
LIKEWUAI + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
初晨曦流辉 + 1 + 1 可以的
大将军 + 2 用心讨论,共获提升!
xixicoco + 1 鼓励转贴优秀软件安全工具和文档!
550729 + 1 + 1 我很赞同!
yfsdqj + 1 + 1 热心回复!
心与信仰 + 1 + 1 植物大战僵尸要被你玩坏了
和睦共处 + 1 + 1 用心讨论,共获提升!
smart622019 + 1 + 1 谢谢@Thanks!
jeson007 + 1 + 1 谢谢@Thanks!
ngxh + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!
jiejie2ningning + 1 + 1 我很赞同!
lyrong + 1 + 1 我很赞同!
灬番蛮灬 + 1 好极了

查看全部评分

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

漫漫的幸福 发表于 2019-2-13 20:37
对于我这种小白,还是喜欢成品
wlallon 发表于 2019-2-13 20:45
有没有成品啊,这个还是休闲可以玩下的

免费评分

参与人数 1热心值 +1 收起 理由
bxy2955 + 1 用心讨论,共获提升!

查看全部评分

灬番蛮灬 发表于 2019-2-13 20:10
yikun 发表于 2019-2-13 20:12
谢谢分享
懿蓑烟雨 发表于 2019-2-13 20:17
成了植物狂虐僵尸了
福气啦 发表于 2019-2-13 20:18
小白来学习了,感谢分享分析思路
wq0428 发表于 2019-2-13 20:23
感谢分享
易水寒丶 发表于 2019-2-13 20:28
支持 6666
hamham1985 发表于 2019-2-13 20:32
牛,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

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

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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