当前位置: 首页 > article >正文

42.第二阶段x86游戏实战2-lua寻找状态指针

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

本次游戏没法给

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

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:41.第二阶段x86游戏实战2-C++实现lua寻路

上一个内容里使用C++对接到了lua里,本次写一个状态指针

首先游戏它是怎样调用lua的?一般它用到的是doString、doFile函数,doString和doFile的区别,DoFile用来读取文件然后再去执行文件里的内容,它只执行一次,简单点说DoFile做的事是把文件内容读出来然后去调用doString,doString就只doString,这是DoFile和DoString的区别

当前靶场游戏只需要使DoString函数,然后需要了解一下DoString函数的入参和返回值,所以打开OD并附加到游戏,然后找到游戏里的LuaPlus.dll,如下图红框,然后双击它进入LuaPlus模块里

进入LuaPlus模块里

然后按CTRL+G,lua_dostring然后点OK

点了OK就会来到下图红框位置

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

然后如下图断下来,一打断点它就会断下来,因为游戏里会不断的很频繁的调用lua脚本

然后如下图取消断点

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

然后开始分析这附近的代码,如下图有一句add esp,8,这意思平栈,然后esp是栈顶寄存器,然后栈顶寄存器加0x8的意思是lua_dostring函数有两个参数,这是一个外平栈的写法

然后接下来在下图红框位置打断点

然后如下图红框,lua_dostring函数的两个入参

如下图红框是状态指针,有了状态指针就可以去调用游戏里的lua函数了也就是可以调用游戏里的lua脚本,所以要找一下eax的值哪来的

然后eax的值来自于下图红框函数的返回值

如下图通过返回值得到的eax

所以接下来进入下图红框的函数看看里面是怎样的

然后如下图红框打断点并断下来

然后取消断点

然后按F7进入函数里

如下图红框,可以看到它来自于0xCA4220这个基址,然后现在就找到了状态指针

然后复制一下特征码,方便后续定位,然后使用特征码定位的时候发现了一个问题,把下图红框里的代码全部复制出来会发现特征码定位工具定位的位置是错的

然后把下图红框的代码复制成特征码发现可以正常定位了

如下图红框

然后如下图红框,可以把这些东西也给复制成特征码,如果上方的基址没法用了,可以通过调用函数获取返回值的方式获取状态指针

如下图通过特征码定位的偏移

然后DoString函数的第二个参数,如下图第二个参数可以看出它是lua代码,然后到这就解决了调用游戏中lua的所有问题,后面可以写C++代码了

然后再定位一下doString函数的偏移


img


http://www.kler.cn/a/388387.html

相关文章:

  • Excel粘贴复制不完整的原因以及解决方法
  • redis——岁月云实战
  • 数据库管理-第274期 Oracle Enterprise Manager 24ai新特性一览(20241223)
  • 【ES6复习笔记】Class类(15)
  • linux中 mysql备份
  • 【多时段】含sop的配电网重构【含分布式电源】【已更新视频讲解】
  • C++设计模式结构型模式———责任链模式
  • mapreduce综合应用案例 — 气象数据清洗
  • StarTowerChain 与 DePIN:共筑区块链新蓝图
  • 洛谷每日一题——P1036 [NOIP2002 普及组] 选数、P1045 [NOIP2003 普及组] 麦森数(高精度快速幂)
  • 知从科技受邀出席ARM日产技术日
  • 智谱AI视频生成模型CogVideoX v1.5开源 支持5/10秒视频生成
  • Dear ImGui 使用VS2022编译为静态库
  • 信息安全工程师(84)UNIX/Linux操作系统安全分析与防护
  • 1.2 数据结构的分类与应用
  • AI 大模型:重塑软件开发的新力量
  • 新160个crackme - 095-tengxingCrackMe_v1.1
  • 界面控件DevExpress WPF中文教程:Data Grid——卡片视图设置
  • 初识Linux · 命名管道
  • 洛谷 P2239 [NOIP2014 普及组] 螺旋矩阵
  • lua 编译网路核心
  • 【系统架构设计师】2024年下半年真题论文: 论多源异构数据集成方法(包括参考素材)
  • 理解 FPGA 的关键知识点整理
  • Scala 中 set 的实战应用 :图书管理系统
  • 华为ensp防火墙配置(纯享版)
  • web——[GXYCTF2019]Ping Ping Ping1——过滤和绕过