吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 245|回复: 0

[原创逆向图文] 通过游戏学指针系列(1-2集)

[复制链接]
宝贝芽芽 发表于 2025-7-17 18:41 | 显示全部楼层 |阅读模式

一.准备环境一
1启动文件夹WooolClient1006760中的名扬传世.exe
2注册账号(若未达到18岁,可以搜索一下,注意:注册必须要姓名和身份证)
3若不使用,可将文件夹重新压缩,之后使用时再解压
二.准备环境二
1.准备一个过保护的或是普通的工具:
ce
1)ce工具的用处:此工具专门用来搜数据,是逆向,学习指针的好帮手
2此工具如何用
[size=12.0000pt](1)确定一下这个游戏所在的进程(进程:每个应用程序都对应一个东东,这个东东就是进程(注意:此概念看懂即可))
任务栏右键----启动任务管理器----选中进程----游戏----右键----转到详细信息----此时可以看到进程名GameClient.exe
(2)ce工具如何用
a.启动----选择第一个按钮 图片1.jpg ----打开----选择进程名
b.如何设置,核心点,数据类型(范围按无符号选)
Byte:中文含义是字节,一个字节是8位,8位上0或者1,所以一个字节如果8位都是11111111,那么最大值就是255,最小值位0
2 bytes :1111111111111111 255*255=65535
4 bytes:0-42亿左右
(3)例如:查找人物的血值,目前是49,那么我选择那个类型
Byte 可以排除(因为血值到了20级左右大概率就有了,所以这个范围太小了)
2 byte(也可以表示为word):如果游戏设计者制定了规则,人物的最大血值为60000,最大的等级为999级,那么我们就可以选择这个数据类型来存放血值
4 byte(也可以表示为dword) 也可以选择存放血值
三.分析游戏人物血值
1.用ce加载游戏,然后搜血值,点击firat scan(中文含义是首次扫描,意味着第一查找有哪些地址存放了人物的血值)可以看到此时有很多的地址存放的血值都与搜索的血值一样,那么我们要判断真正的血值应该存放在哪个地址呢?
如图所示:
图片2.jpg
2想办法改变人物的血值,可以通过做任务让角色的血值升一升,然后再重新的输入变化的血值,然后点Next scan,这时候跳出来了的地址只有5,6个,然后现在就是需要我们观察一下有哪个地址变化了(这是一个持久性的观察)
如图所示:
图片3.jpg
图片4.jpg
[size=12.0000pt]3. 改变以上地址中的31为310,更改以后游戏中的血值也可以更改,如下图:
图片5.jpg
四.cc++语言中的表示方法:
分析:存放人物血量的位置(即地址)在C语言中被称为“指针”。
引入C语言的指针:
C语言中声明并赋值指针的语法为:
声明指针:int* p; 注:此处的p”可以为任何变量名
给指针赋值:int* j1=(int*)0x0602A7A6;
C语言中获取指针内容的语法为:
int newblood=*j1
至此,用指针查找人物血量的实验就做完了,并用C语言声明、赋值和获取数据。

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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