学习逆向知识之用于游戏外挂的实现.第三讲,通过游戏外挂.分析红色警戒金钱基址.以及确定基址小技巧.

一丶基址简介

  通过第二讲.我们寻找植物大战僵尸无限阳光.学习到了相关的逆向知识.以及认识了基址.动态地址. 静态地址的区别.现在我们拿红色警戒这款单击游戏进行练手.

PS: 主要目的是分析数据.学习逆向知识.并为之所用.并不是教大家如何制作外挂.

1.怎么确定我们寻找到的是基址?

有三种方法.

  1. CE中绿色表示基址,黑色表示内存地址.一般绿色的很有可能是基址(当然不一定是.不过大部分是)
  2. 退出游戏重新进入游戏.地址不会改变.其值的内容也不会改变.
  3. 搜索指针.找不到.那么基址的上一级地址就是指针地址. 这段话可能有点难以理解. 意思就是如果我们找到基址了.再看访问.如果没有地址保存这个基址指针.那么这个基址指针就是我们要寻找的基址指针了

二丶运行红警进行金钱的查找.

  红色警戒我们可以在网络上下载.也可以在网盘中下载.都会打包上传.

CE使用方法:

  1.附加Game.exe

  2.搜索金钱.

  3.改变金钱数值.

  4.CE点击再次扫描.

如果执行完上面四步那么剩下的就是我们要找的地址了.

我们说过.绿色的可能表示基址.我们可以一个一个尝试.

PS: 不一一尝试了.其中步骤略过.经过尝试.前两个绿色的并不是我们要找的基址.最后一个修改我们游戏中才会进行修改.

所以我们找到了动态地址.如下图所示

 所以我们要找什么改写了这个地址.通过第二节课内容.寻找我们的基址. 如下图所示

通过上图.我们得出了汇编指令

mov [ebx + 0x24c],eax

由此得出.一级偏移是24c

那么我们继续寻找ebx指针. 看看是谁保存了ebx指针 如下图所示

通过查找.我们找出了三个绿色基址.但是根据第一次查找.我们会发现0x0084开头的有可能不是.不过我们也不确定.所以三个都要尝试.

PS: 已经进行过尝试了. 基址指针是 0x00A1E0C4

尝试的时候.使用CE的手动添加地址.尝试. 如下图所示

所以我们根据我们找基址的三种方法进行尝试.

可以得出确定我们要找的基址就是我们的找的地址了.

三丶通过编程实现修改金钱.

通过上面我们可以得出.  [0xA1E0C4] + 0X24C = 金钱的地址

             [[0xA1E0C4] + 0x24c] = 金钱的值.

所以我们可以使用易语言编写简单的修改金钱辅助.

当然C++一样可以修改. 具体API可以参考上一篇文章.

因为易语言好实现.所以使用易语言编写.

 成品:

 课堂代码以及游戏:   链接:https://pan.baidu.com/s/1T56c20QIcADoAGc6lhD8Lg 密码:pf5d

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏芋道源码1024

告诉你 Redis 是一个牛逼货

Redis 是一个 Key-Value 存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多,包括 string(字符串)、 list...

15300
来自专栏Zephery

谈谈个人网站的建立(四)—— 日志系统的建立

谈谈个人网站的建立(四)—— 日志系统的建立 欢迎访问我的网站http://www.wenzhihuai.com/ 。感谢,如果可以,希望能在GitHub上给个...

40840
来自专栏Jimoer

Java设计模式学习记录-命令模式

这次要介绍的是命令模式,这也是一种行为型模式。最近反正没有面试机会我就写博客呗,该投的简历都投了。然后就继续看书,其实看书也会给自己带来成就感,原来以前不明白的...

11510
来自专栏程序员的知识天地

JavaScript设计模式与实践--适配器模式

适配器模式主要用来解决两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的,也不考虑它们将来可能会如何演化。适配器模式不需要改变已有的接口,就能够使它们协...

23010
来自专栏架构说

CPU核数和线程 (池)数量的关系(概念理解)

目前手机配置: 支持HUAWEI Mate 8非凡表现的, 是拥有强大性能的华为麒麟950芯片。 此芯片为八核4*Cortex A72 ...

65260
来自专栏GreenLeaves

EF 一对一、一对多、多对多配置语句小记

数据库实体间的关系无非有这么几种:一对一、一对多、多对多,这些关系在EF框架中分别有不同的创建方式: 1、在"Database First"模式中,这些关系通过...

29570
来自专栏Kirito的技术分享

浅析项目中的并发(一)

前言 开头扯两句,最近项目略忙,一堆零散的东西要做,没那么多时间维护文章了。又迷上了吃鸡,大雾spring security系列投入了我不少时间,但总体收获也颇...

39990
来自专栏Zchannel

基于 Python 实现的用于命令行的速查工具:cheat.sh

13750
来自专栏腾讯移动品质中心TMQ的专栏

和开发一起写代码,让测试左移起来

一、写在前面的话 互联网产品的迭代速度之快,各位都深有体会。做为产品质量的保障者,测试人员经常为测试时间不足而烦恼,如何打破现状来让现在变得更好一些,这是我们一...

26070
来自专栏mini188

openfire的组件(Component)开发

在之前的文章《Openfire阶段实践总结》中提到过一种openfire的扩展模式Compoent。本文将主要探讨对这种模式的应用与开发方法。 内部与外部组件介...

29780

扫码关注云+社区

领取腾讯云代金券