ce逆向修改——植物大战僵尸

一、实验目的

为熟悉CE的使用和对软件逆向分析有进一步的了解。

二、实验设备

Cheat Engine 6.8、植物大战僵尸

三、实验内容

1.针对“阳光值”

四、实验步骤

1.针对“阳光值”

(1)采用3种以上的方法扫描至少3关的“阳光值”的内存地址,并能修改;

①打开游戏进程

②第一关寻找阳光值地址(精确扫描)

初始阳光值为50,输入50,点击首次扫描,显示结果

消耗(或者增加)阳光值,使阳光值产生变化为0,输入0,点击再次扫描,显示结果

单击右键,选择改变该值,进行阳光值的修改

③第二关寻找阳光值地址(值大于)

初始阳光值为50,选择值大于40,点击首次扫描,显示结果

消耗(或者增加)阳光值,使阳光值产生变化25,输入25,点击再次扫描,显示结果

单击右键,选择改变该值,进行阳光值的修改

(2)找到阳光值的内存基址,简述如何分析和找出基址的过程;

在此地址上点右键->查找写入该地址的代码,会看到一个对话框“下列代码更改选择的地址”,里面是空白的,切换回游戏,随便种一棵植物(目的是让阳光变少,好找出哪些代码修改了此内存),再回到CE,会看到刚才的空白对话框中已经有内容了,双击或点“更多信息”。

记住EDI的值,下一步将上面的搜索框前的16进制勾选上->将EDI的值填进去->首次扫描。

搜索出一堆地址,将上一步搜索出的值添加到地址列表->右键->查找所有访问此地址的代码,双击第一个 mov指令查看更多信息,我们继续搜索所得地址。

查找到了绿色内存地址,绿色内存地址表明该地址在游戏中是静态的,它就是要找的基址了,把这些内存地址连接起来,手动填加地址进行测试。

 

(3)画出阳光值的内存访问示意图或工作原理;

(4)分析阳光值功能实现的设计算法;

#include <stdio.h>

class SunClass{

public:

int SunTime;

int SunValue;

int SunAttr;

};

int main(){

SunClass *Sun=new SunClass;

Sun->SunValue=100;

printf("SunValue: %d",Sun->SunValue);

return 0;

}

(5)分析阳光值的相关汇编语言代码的工作过程;

当捡起阳光时,阳光数值增加,执行下图中的两句指令;当消耗阳光时,阳光数值减少,执行下图中的最后一句指令

(6)画出逆向分析的思维导图,并将以说明其逆向原理。

(7)观察“阳关”的其它属性,并采用上述(1)-(5)的方法分析之。

首次扫描时需要进行未知的初始值,之后它的倒计时在没有产出阳光时时慢慢减少的,在产出阳光后,它的倒计时相对于之前来说是进行增加的。

选择减少的数值、增加的数值多次,操作完成之后就可以发现其的时间地址,然后寻找基址。

之后要将其进行锁定要不然还会进行新一轮的倒计时,同时要将数值修改为1,让阳光不断的进行这一操作。

(9)实现自动收集阳光,并详细说明原理;

首先找到阳光的内存地址,然后找到是什么修改了这个地址,右击找到是什么修改了这个地址然后进行阳光的收集,发现在新的窗口中出现了一行代码。

接下来会出现一行代码,选择显示反汇编程序,在调试中设置断点,等待阳光的掉落,点击视图堆栈跟踪,点击工具中的自动汇编,模板中的CT表框架代码,接着点击模板代码注入,将这里的jne修改成jmp。点击文件分配到当前列表,点击运行,删除断点列表中的断点就可以进行自动收集阳光。

 

ce逆向修改——植物大战僵尸针对“阳光值”相关推荐

  1. ce逆向修改——植物大战僵尸针对“金币”

    针对"金币" (1)扫描金币的内存地址: (2)找到该金币的内存基址,分析其的全部属性,并画出其数据结构: (3)画出该金币的内存访问示意图或工作原理: (4)分析该金币功能实现的 ...

  2. CE实战:修改植物大战僵尸中阳光数值

    CE实战:修改植物大战僵尸中阳光数值 游戏版本:植物大战僵尸中文版( PlantsVsZombies ) Cheat Engine 版本:Cheat Engine 7.0 一.打开游戏 二.打开CE并 ...

  3. vs c/c++ 用win32api写出植物大战僵尸的阳光值修改器

    一.工具如下: 1.植物大战僵尸1(直接下载逗游游戏盒可以直接下载,网上资源很乱) 2.vs2017(使用vs win32的接口) 3.cheat engine(附下载链接https://www.cr ...

  4. CE修改植物大战僵尸-天上无限掉落阳光(小宇特详解)

    CE修改植物大战僵尸-天上无限掉落阳光 里是CE修改植物大战僵尸的第三个博客,其他的操作请看我之前的博客. 天上无限掉落阳光. 这里说明一下版本: CE:CE6.8 植物大战僵尸版本:植物大战僵尸95 ...

  5. ce修改植物大战僵尸阳光

    ce修改植物大战僵尸阳光 准备: CE修改器 植物大战僵尸游戏 易语言 选择进程,最重要的是找到阳光的基址 阳光数量为50 首次扫描和再次扫描 找到阳光的动态地址 找出是什么改写了这个地址,并双击 偏 ...

  6. 使用Cheat Engine(CE)来对植物大战僵尸进行逆向分析

    3.2.1针对阳光值 采用三种以上的方法扫描至少三关的"阳光值"的内存地址,并进行修改. 第一种 可以通过精确数值的扫描来进行太阳值的内存地址的扫描,首先一开始的阳光初始值为50, ...

  7. CE修改植物大战僵尸-关卡基址(小宇特详解)

    CE修改植物大战僵尸-关卡基址 这里是CE修改植物大战僵尸的第二个博客,其他的操作请看我之前的博客. 植物大战僵尸的关卡基址寻找. 这里说明一下版本: CE:CE7.4 植物大战僵尸版本:植物大战僵尸 ...

  8. C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问题

    C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...

  9. C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址

    C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...

最新文章

  1. uniapp定义全局变量方法
  2. 细聊 Cocoapods 与 Xcode 工程配置
  3. java调用接口失败重试,httpclient接口测试中重试控制器设置
  4. shell批量监控网站状态码
  5. linux 脚本$字符,一文看懂shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义
  6. python distplot 图_Python可视化23 |seaborn.distplot公司单变量分布图(直方图|核密度图),23seaborndistplot...
  7. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
  8. 什么是MPLS?多协议标签交换(MPLS)基础知识和工作原理
  9. shell 学习笔记2
  10. dll可以在linux下使用吗_Python 下使用 Altair 数据制图 | Linux 中国
  11. 一文读懂腾讯云“AI即服务”战略新品“智能云”
  12. 2016-06-07【普元EOS Studio】
  13. 基于单片机的贪吃蛇游戏设计仿真
  14. ask调制与解调matlab仿真,ask调制与解调的matlab仿真.doc
  15. 【一句日历】2019年8月
  16. JavaWeb HTTP状态 405 - 方法不允许
  17. 吴恩达机器学习(十一)—— 应用机器学习的建议
  18. ai动漫生成软件哪个好?这篇文章告诉你
  19. 什么是php PHP能干什么
  20. [AHK]输入法状态提示,中文状态提示“中”,英文状态提示“EN”[转]

热门文章

  1. 金字塔图表 html,Highcharts 柱形图(柱状图及条形图)之 金字塔图 演示
  2. 阿里云天池竞赛——二手车价格预测项目(个人练习+源代码)
  3. pd.concat()和pd.merge()
  4. lmi克罗内克积 matlab_LMI中有关于克罗内克积的决策变量,如何定义?
  5. 微信小程序获取带表情的微信名乱码问题
  6. 微信小程序,使用canvas画图生成海报并保存手机相册
  7. 最简单的python语言实现汉诺塔游戏
  8. 劳动者可以拒绝加班吗
  9. java epics_Visual Paradigm敏捷开发教程(7):如何管理Epics
  10. 官方纯净版Windows10安装