飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 141|回复: 2

[原创] 通过游戏学指针系列第4讲

[复制链接]

该用户从未签到

发表于 昨天 14:27 | 显示全部楼层 |阅读模式
通过游戏学指针系列4:实战获取游戏血值真正地址
一。回顾
[13082EC]+726  这个里面的内容就是当前血值,每台机都适用
1[13082EC]:表示取这个地址0x13082EC中的内容,此内容就是:0x0F9E0020
2[13082EC]+726--------------0x0F9E0020+0x726=0x0F9E0746
3我想获取0x0F9E0746这个地址中的内容,那么就必须要把他弄成指针
int* p=(int*)0x0F9E0746;
int role=*p;
二实战将这个血值真正的显示出来
1用我们已写好的框架,然后在里面实现功能即可
为什么必须使用这个框架(我已写好专门用来再游戏中学指针)
2如何使用
(1)将学习框架放到c盘根目录
(2)启动vc6-----文件------打开工作空间----选GameDLL----选以扩展名.dsw的文件
(3)找到界面(resources)------找到Dialog-----第一项双击即可出现界面
(4)找到32位指针练习,双击
3编写代码
//[13082EC]+726这个里面的值就是当前血值
int* role=(int*)0x15982EC;((int*)后面应该是0x13082EC但是这个地址不见了,所以重新再找了一次绿色地址也就是15982EC)
//获取13082EC这个地址中的内容,即role1=0x0F9E0020
int role1=*role;
//获取0F9E0020+726的值
int role2=role1+0x726;
//将0F9E0020+726这个值转换为指针
int* p=(int*)role2;
//最终获取人物当前血值
int rolee=*p;
DebugViewPrintf("当前血值是:%d",rolee);
*p=1000;
三.测试
1,点组件------全部重建
2,关闭游戏和ce工具,重新打开
3,启动框架(!)
4,启动游戏,然后选择游戏,再出现的界面上点安装钩子
5,选中游戏,按Home键,点32位指针学习(点之前要启动调试工具)此时就可以看到结果了

PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-14 13:49
  • 签到天数: 393 天

    [LV.9]以坛为家II

    发表于 昨天 14:32 | 显示全部楼层
    PYG19周年生日快乐!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 昨天 16:02 | 显示全部楼层

    PYG19周年生日快乐!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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