58.第二阶段x64游戏实战-分析lua状态指针

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

上一个内容:57.第二阶段x64游戏实战-实时监控抓取lua内容

想要调用lua代码必须要有状态指针,状态指针太过于抽象,没办法很好的解释,这里只能通过它的作用来描述,不管是我们自己写还是使用游戏中的lua,都会要有状态指针,调用lua_dostring、lua_dofile等函数都会需要状态指针,状态指针在lua中是一个很重要的东西。

然后想要实现lua_dostring需要两个参数一个是rcx一个是rdx,rcx的值是状态指针,rdx的值是lua代码,现在lua代码已经得到了,还剩下状态指针,接下来就开始找状态指针

首先打开x64dbg,来到lua_dostring位置

设置断点

触发断点,之前分析的lua_dostring有多个地方调用,也就是说CTRL+F9再按F8会有多个分支,这多个分支使用任意一个就可以,都能找到状态指针

然后取消断点

然后按CTRL+F9再按F8,然后来到下图位置

开始分析,rcx的值来自于rax,rax的值来自于call,然后按F9,让代码运行起来

然后在下图红框位置设置断点

然后触发断点

然后按F7进入call,进入之后一路按F8,直到执行了ret

然后最终发现rax的值来自于下图红框,到这就找到了状态指针,注意这个代码是在game.exe模块中,然后记得复制一下特征码

然后计算偏移 00007FF7E4080000

0x973150

image-20250713143342559


img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值