wxr1224 发表于 6 天前

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

本帖最后由 wxr1224 于 2025-7-8 12:18 编辑

通过游戏学习指针系列3编写代码读取游戏血值(引入指针中的*和&的活用)一.让地址定起来通过前面两次课,搜到的血值每个人搜到的地址不一样002F7B94002F7B98﹉0F9E074E实践:1在地址上按右键------点击谁在访问(Find out what accesses this address)------yes ------此时出来一串复制下来------00FA86C4 - 89 4D FC- mov ,ecx00FA86C7 - 8B 45 FC- mov eax,00FA86CA - 8B 80 26070000- mov eax, <<00FA86D0 - 8B E5- mov esp,ebp00FA86D2 - 5D - pop ebp
EAX=00000023EBX=00000000ECX=0F9E0020EDX=0125111CESI=000B4DC2EDI=00000000ESP=0030EC08EBP=0030EC0CEIP=00FA86D0------查找ECX的值:0F9E0020(勾选Hex------数据类型选4字节------粘贴此值0F9E0020)-------点first scan-------找到第一个绿色的地址13082EC最后统一规则:+726二.测试本机上的表示血值的地址是否正确1 点击Add Address Manually-----勾选pointer------将地址复制过去13082EC-------再倒数第二个框中添加726此时会看到新出来一个地址------这个地址所放的内容就当前血值三.总结:1如果第一步不明白-------照着做即可2按照第二步的操作再本机上会产生一个地址,那么这个地址中就是人物当前血值对于任何机器都适用四.c语言中如何获取内容int a=1;标准的写法:int a=(int)1;1定义一个指针(规则就是再数据类型后加*)int* p;2给指针赋值int * p=(int*)0x13082EC(在c语言或c++中前面加一个前缀,这样表示把地址给指针了)3.再地址上加上一个[]表示,获取地址中的内容,再c中获取地址中的内容,规则:再指针变量前加上*,表示获取指针中的内容所以*p代表人物中的这部分内容4那么如何表示当前血值,综合代码:int* p;Intaddr;P=(int *)0x13082EC;addr=*p;int*role=(int *)(addr+0x726);Int cur=*role;本文章根据手把手项目开发网中的视频教程整而来,工具和资料下载地址:http://www.shou8shou.cn,也可以联系指导教师QQ:1026165915也可百度:手把手项目开发

linxiansen 发表于 6 天前

PYG有你更精彩!
页: [1]
查看完整版本: 通过游戏学习指针系列3编写代码读取游戏血值(引入指针中的*和&的活用)