黑客入门之单机游戏外挂

转载于: http://www.cnblogs.com/huipengbo/p/6887170.html

 

一.本文以植物大战僵尸外挂的编写为例,介绍单机游戏外挂的编写和使用过程。

1.启动单机游戏如:植物大战僵尸如下图

 

2.想明白我们写外挂的目的:让我们有充足的阳光数量来使用,即就是修改上图左上角红色标记的哪个值,目前是150,根据分析应该是个整型值,我们让这个值一直为40000。

3.由于该程序运行已经被加载到内存,所以阳光数应该有个内存地址,只要我们找到这个地址就可以修改这个地址的值,使用工具为Cheat Engine

@1选择进程为PlantsVsZombies.exe

@2输入阳光数150进行第一次查询,可以看出值为150的地址有很多

@3运行程序改变阳光数,进行第二次查询,从图中可以看出存储阳光值的地址为0x146BBB50

4.既然找到了地址,我们就可以进行编写程序了,使用VS2013,代码如下

复制代码
 1 #include<stdlib.h>2 #include<stdio.h>3 4 /*声明该函数可以导出dll模块*/5 _declspec(dllexport) void change()6 {7     int *p = (int *)0x146BBB50;//将这个地址转为int类型指针8     while (1)9     {
10         *p = 40000;//让阳光数量一直为40000
11     }
12 }
复制代码

5.将工程配置改为dll动态库,然后进行编译

6.使用dllinject工具将dll注入到植物大战僵尸进程体内

7.查看外挂运行效果,可以看到阳光数量为40000,不会减少

8.上面就是一个单机游戏外挂,原理是通过地址修改变量值,你也可以用来对其他游戏或者其他类型变量进行操作,还有一种方法就是获取函数地址,调用程序函数。

转载于:https://www.cnblogs.com/tureno/articles/6888075.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中

by Praveen Dubey通过Praveen Dubey 如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中 (How to use the browser console to scrape and save data in a file with JavaScript) A while back I had to crawl a site for links, and further use those page links …

poj2017

1&#xff0e;链接地址 https://vjudge.net/problem/POJ-2017 2&#xff0e;问题描述 Bill and Ted are taking a road trip. But the odometer in their car is broken, so they dont know how many miles they have driven. Fortunately, Bill has a working stopwatch, so t…

NFL原则告诉我们做决策的时候,试图找到一个能解决所有问题,“大而全”的方案是不存在的。我们应当找到最关心的问题,因地制宜做出选择。——聚焦目标,取舍有道!...

资源匮乏原则&#xff1a; 有限的资源无法满足无穷的需要及欲望&#xff1b; 因此想要多一点的某件东西&#xff0c;意味着必须放弃一些其他的东西&#xff1b; 因为资源匮乏&#xff0c;所以我们必须做出选择。 NFL原则&#xff1a;没有免费午餐定理(No Free Lunch)是wolpert和…

巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...

因为单独一个PE是不够用的&#xff0c;已经制作了合盘&#xff0c;可BIOS启动&#xff0c;也可EFI启动。详情移步》欢迎下载使用&#xff0c;觉得好的话&#xff0c;请回帖支持一下&#xff0c;您的支持&#xff0c;就是我的动力。。。。预祝大家新的一年合家欢乐&#xff01;工…

linux子线程运行的函数_Linux中线程使用详解

4. 线程的属性前面还说到过线程创建的时候是有属性的&#xff0c;这个属性由一个线程属性对象来描述。线程属性对象由pthread_attr_init()接口初始化&#xff0c;并由pthread_attr_destory()来销毁&#xff0c;它们的完整定义是&#xff1a;int pthread_attr_init(pthread_attr…

数据源 连接oracle

https://blog.csdn.net/kk185800961/article/details/53065257 转载于:https://www.cnblogs.com/BelieveFish/p/11164009.html

leetcode 140. 单词拆分 II(记忆化)

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;在字符串中增加空格来构建一个句子&#xff0c;使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明&#xff1a; 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 …

java mvp开发_如何从没有软件开发技能的想法变成现实的市场MVP?️?

java mvp开发by Mike Williams由Mike Williams 如何从没有软件开发技能的想法变成现实的市场MVP&#xff1f;️&#xff1f; (How to go from idea to live marketplace MVP with no software development skills ?️?) Online marketplaces such as Airbnb, Turo, Hipcamp,…

Convolutional neural networks for artistic style transfer

https://harishnarayanan.org/writing/artistic-style-transfer/ 转载于:https://www.cnblogs.com/guochen/p/6888478.html

Centos 安装 禅道

Centos 安装 禅道 一、环境准备&#xff1a; 1、服务器&#xff1a;Centos6.7 新系统 2、查看对应的系统版本&#xff1a;uname -a和cat /etc/redhat CentOS release 6.7 (Final) 二、安装&#xff1a; 1、下载对应系统版本的zbox禅道一键安装包&#xff0c;解压至/opt目录下 …

centos7修改服务器密码忘记,Centos7忘记root密码怎么修改

Centos7忘记root密码怎么修改一、 reboot重启机器&#xff0c;当出现引导界面时&#xff0c;按e进入内核编辑界面。二、 往下翻&#xff0c;到LANGzh_CN.UTF-8后面添加 \rd.break(别忘了空格)三&#xff0c; 修改完成后&#xff0c;按下CtrlX组合键来运行这个修改后的内核程序(…

1.移动端测试知识笔记(面试必备,测试点,adb命令)

移动端测试&#xff1a; 移动应用&#xff0c;特性(功能) 满足 需求(产品文档&#xff0c;隐性需求) 一。App功能测试&#xff1a; 死活背下来1.业务逻辑正确性测试&#xff1a; 产品文档&#xff0c;隐性需求- 写成测试用例 2.兼容性测试&#xff1a; 1.系统版本&#xff1a…

Day 3 网络基础

网络基础 一、什么是互联网协议及为何要有互联网协议 &#xff1f; 互联网协议&#xff1a;指的就是一系列统一的标准&#xff0c;这些标准称之为互联网协议。互联网的本质就是一系列的协议&#xff0c;总称为‘互联网协议’&#xff08;Internet Protocol Suite)。 互联网协议…

leetcode 349. 两个数组的交集

给定两个数组&#xff0c;编写一个函数来计算它们的交集。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例 2&#xff1a; 输入&#xff1a;nums1 [4,9,5], nums2 [9,4,9,8,4] 输出&#xff1a;[9,4] 代码 class Solution…

a4988 脉宽要求_基于STM32的微型步进电机驱动控制器设计

基于STM32的微型步进电机驱动控制器设计摘 要&#xff1a; 设计了一种微型步进电机驱动控制器&#xff0c;通过上位机界面修改步进电机转速、旋转角度、细分系数。该设计以STM32F103T8U6作为主控制器&#xff0c;以A4988步进电机驱动设备&#xff0c;上位机串口界面作为人机接口…

运行linux的机器死机了_如何在任何机器上轻松运行任何Linux工具

运行linux的机器死机了by Flavio De Stefano由弗拉维奥德斯特凡诺(Flavio De Stefano) 如何在任何机器上轻松运行任何Linux工具 (How to easily run any Linux tool on any machine) Have you ever encountered a situation like the ones below?您是否遇到过以下情况&#x…

【实战】烂泥:一次纠结的系统安装

这应该是昨天的事了&#xff0c;因为昨天太忙了&#xff0c;就没有贴出来&#xff0c;今天下午我想了想还是贴出来吧。一是给自己一个提醒&#xff0c;二是也给坛子里面的午饭们再以后安装系统中提供一种思路。 环境&#xff1a;thinkpad x100e笔记本&#xff0c;2G内存&#x…

Android动态改变TextView字体颜色

Android动态改变TextView字体颜色 分类&#xff1a; Android 2012-06-04 21:56 141人阅读 评论(0) 收藏 举报androidcolorslayout必须在在res/color文件夹下面创建一个selector的xml [html] view plaincopyfont_style_colors.xml <selector xmlns:android"http://…

关于小程序的一些坑的总结

最近开发的小程序&#xff0c;有很多的坑。 1.底部的tabbar 不可更改尺寸和字体的大小。限制的还是蛮死的&#xff01;不知道是不是我没找到方法去修改还是咋的。淡淡的忧桑&#xff5e;&#xff5e;&#xff5e; 2.可以动态的设置小程序的顶部导航栏的字&#xff0c;但是不可…

开源项目贡献者_如何认识您的开源项目贡献者并发展您的社区

开源项目贡献者by David Herron大卫赫伦(David Herron) 如何认识您的开源项目贡献者并发展您的社区 (How to recognize your open source project contributors and grow your community) There’s a truism — if a community is not growing, it is slowly dying. How is yo…