飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 178|回复: 1

[原创] 通过游戏学习指针系列3编写代码读取游戏血值(引入指针中的*和&的活用)

[复制链接]

该用户从未签到

发表于 前天 18:42 | 显示全部楼层 |阅读模式
本帖最后由 wxr1224 于 2025-7-8 12:18 编辑

通过游戏学习指针系列3编写代码读取游戏血值(引入指针中的*和&的活用)
.让地址定起来
通过前面两次课,搜到的血值每个人搜到的地址不一样
002F7B94
图片1.png
002F7B98
0F9E074E
实践:1在地址上按右键------点击谁在访问(Find out what accesses this address------yes
图片2.png
------此时出来一串复制下来------
00FA86C4 - 89 4D FC  - mov [ebp-04],ecx
00FA86C7 - 8B 45 FC  - mov eax,[ebp-04]
00FA86CA - 8B 80 26070000  - mov eax,[eax+00000726] <<
00FA86D0 - 8B E5  - mov esp,ebp
00FA86D2 - 5D - pop ebp

EAX=00000023
EBX=00000000
ECX=0F9E0020
EDX=0125111C
ESI=000B4DC2
EDI=00000000
ESP=0030EC08
EBP=0030EC0C
EIP=00FA86D0
------查找ECX的值:0F9E0020(勾选Hex------数据类型选4字节------粘贴此值0F9E0020-------first scan-------找到第一个绿色的地址13082EC
最后统一规则:
[13082EC]+726
二.测试本机上的表示血值的地址是否正确
1 点击Add Address Manually-----勾选pointer------将地址复制过去13082EC
图片3.png
-------再倒数第二个框中添加726
此时会看到新出来一个地址------这个地址所放的内容就当前血值
三.总结:
1如果第一步不明白-------照着做即可
2按照第二步的操作再本机上会产生一个地址,那么这个地址中就是人物当前血值对于任何机器都适用
四.c语言中如何获取内容
int a=1;
标准的写法:int a=(int)1;
1定义一个指针(规则就是再数据类型后加*)
int* p;
2给指针赋值
int * p=(int*)0x13082EC(c语言或c++中前面加一个前缀,这样表示把地址给指针了)
3.[13082EC]再地址上加上一个[]表示,获取地址中的内容,再c中获取地址中的内容,规则:
再指针变量前加上*,表示获取指针中的内容
所以*p代表人物中的[13082EC]这部分内容
4那么如何表示当前血值,综合代码:
int* p;
Int  addr;
P=(int *)0x13082EC;
addr=*p;
int*  role=(int *)(addr+0x726);
Int cur=*role;
本文章根据手把手项目开发网中的视频教程整而来,工具和资料下载地址:http://www.shou8shou.cn,也可以联系指导教师QQ:1026165915
也可百度:手把手项目开发
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-14 13:49
  • 签到天数: 393 天

    [LV.9]以坛为家II

    发表于 前天 21:19 | 显示全部楼层
    PYG有你更精彩!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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