外挂原理之植物大战僵尸

  众所周知在windows或者Linux系统中,进程间的数据是相互独立的,譬如有两个进程A和B,A只能访问操作系统分配给A的内存空间,不能访问操作系统分配给B的内存空间。话句话说A不能修改B的数据,B也不能修改A的数据,想要修改数据只能通过.dll才行得通,外挂的目的只有一个,修改数据,可以通过两种方式,要么直接修改内存数据要么检索函数地址调用函数已达到外挂目的。

  以修改植物大战僵尸金币数量为例,简要说明下外挂原理。

【第一步】打开植物大战僵尸

  

  初始金币是50

  

  【第二步】这里会用到一个工具叫做Cheat Engine。我用的是6.3的版本。他的主要作用是监视进程所用到的内存地址等,函数的地址、数据的地址...

  

  【第三步】打开需要监视的进程,我这里选择植物大战僵尸

  

  【第四步】初次扫描值为50的数据有哪些。输入50,点击新的扫描,这个时候会扫描到有很多数据为50的项,我们不能确定哪一项是金币的数据的内存地址。

  

  【第五步】打开游戏继续玩,当金币的数量发生变化的时候暂停游戏。比如说现在的75。

  

  【第六步】在Cheat Engine中输入75,点击再次扫描。如下图,只有一个数据的是75,现在可以确定0X0896D868这个地址就是金币的变量的首地址。

  

  【第六步】改变金币的值。选择change vakue of selected addresss。

  

  【第七步】改变值输入10000.

  金币的值就改变成了10000。

  这个就是比较简单的外挂。其原理三步走。

  【1】最重要的是找你想修改的数据的内存地址

  【2】编写修改数据的.dll程序

  【3】注入dll。

下面我们详细的讲讲通过dll注入的方式修改金币的值

  【1】找到金币的内存地址,假设我们找到的是0x12E595F0。

  【第二步】编写改变金币的dll。打开VS2013新建工程。设置工程属性为dll。编写dll代码。生成dll。

  

  假设我们想要把金币的值修改成777。

  

1 _declspec(dllexport) void go()
2 {
3     int*p = (int*)0x12E595F0;
4     *p = 777;
5 }

  【第三步】dll注入。使用工具dllinject找到需要注入的进程,选择植物大战僵尸

  

  选择之前生成的dll,执行时加载的函数为go。点击执行。

  金币的值被修改成777

 这就是外挂的原理。简单吧。O(∩_∩)O。

时间: 2024-12-14 21:07:18

外挂原理之植物大战僵尸的相关文章

NOI2009植物大战僵尸

这题应该分两步来做: 1.拓扑排序,去掉无敌点 2.求最大闭合子图 需要注意几点: 1.拓扑排序时,如果(i,j)可以攻击到(x,y),那么增加(x,y)的入度,而不是(i,j)的入度 因为入度代表着要攻击它需要事先攻击几个点 2.求最大闭合子图时,用所有的正权点-最大流 3.求最大闭合子图时,如果(i,j)可以攻击到(x,y),那么连一条边(x,y)到(i,j),容量为正无穷 因为在最大闭合子图中边(x,y)到(i,j)意味着选(x,y)就必须要选(i,j),这与实际含义相符 4.s到正权点,

98植物大战僵尸OL_僵尸迷阵

最近在玩植物大战僵尸Ol打到僵尸迷阵,打了个700分倒数第一,擦.....俗话说的好,失败是成功的妈妈,于是花了点时间写了一个小玩意,我相信下次我一定能拿第一 代码非常简单: using UnityEngine; using System.Collections; using UnityEngine.UI; public class MyScript : MonoBehaviour { // Use this for initialization void Start () { } // Upd

植物大战僵尸2天空之城安卓版发布

全体注意!一大波飞行僵尸正在接近中——中国独创版<植物大战僵尸2天空之城>安卓版终于发布了.超乎想象的空战体验.全新僵尸植物军团.独特闪电环境效果和史无前例的战舰成长系统,让你和戴夫共同肩负守卫天空之城的荣耀重任.赶紧下载游戏,加入云端激战吧. <植物大战僵尸2天空之城>安桌版上线 [中国区独有版本 打造铿锵空战体验] <植物大战僵尸2>即将迎来两周年生日,为感谢中国玩家一直以来的热情支持,EA/PopCap携手拓维游戏打造了这款中国区独有新版本<植物大战僵尸2天

原生JS实现的h5小游戏-植物大战僵尸

代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结合面向对象的编程思想进行开发,在实现时使用了部分es6语法,对于es6语法不太熟悉的小伙伴可以先查阅相关资料了解一下. 如有需要,可根据自己的需求修改源码样式.源码配置属性代码,实现个性化定制. 以下为文件目录结构示意图,核心代码在js文件夹下的四个common.js.main.js.game.js

java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码

Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁的大叔阿姨,下到7.8岁的小弟弟妹妹都听说和玩过这游戏.在以前智能手机还没流行的时候,各种黑网吧,游戏厅便有着玩这游戏的人.当3G技术现世,半智能手机和智能手机出现后,这款游戏更是如日中天,与愤怒的小鸟一起霸占了手机游戏市场(但当时估计都是盗版的). 相信有些使用b站的小伙伴,应该看过很多这样的视频: 这种视

[转]植物大战僵尸95版技术分析

植物大战僵尸95版不是原版,是由植物大战僵尸吧吧友冥谷川恋制作. 本链接只提供95版的完整压缩包和0-95版的所有exe主程序 压缩包,只玩95版的直接下载95安装包解压即可玩,如果需要玩0-94版,再下载本链接提供的主程序exe压缩包,把其它版本的主程序解压到游戏目录直接运行即可.感谢植吧“崇明人家123”制作提供0-v95僵尸得到了极大强化“我会说我这个版本的冒险一周目都过不去吗?”这个出怪模式非常刺激,需要你强大的pvz功底和运气铁桶铁门.显示隐藏关卡.允许后台运行.刺激的出怪模式.无限制

【NOI2009】植物大战僵尸

P1589 - [NOI2009]植物大战僵尸 Description Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而 Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies 对Plants发起进攻. 现在,我们将要考

洛谷 P2805 BZOJ 1565 植物大战僵尸

题目描述 Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies对Plants发起进攻. 现在,我们将要考虑的问题是游戏中Zombies对Plants的进攻,请注意,本题中

COGS410. [NOI2009] 植物大战僵尸

410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:pvz.out   简单对比时间限制:2 s   内存限制:512 MB [问题描述] Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来