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

43.第二阶段x86游戏实战2-提取游戏里面的lua

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

本次游戏没法给

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

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

工具下载:

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

提取码:6tw3

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

上一个内容:https://blog.csdn.net/qq_36301061/article/details/143527879

上一个内容里找到了游戏的状态指针,通过状态指针就可以去调用游戏封装的lua代码了,然后接下来开始写怎样把游戏中的lua找出来,lua一般在游戏的最外层调用起来会很方便,但有些游戏lua是加密的会提取不出来

怎样把lua提取出来?

游戏中使用lua肯定会把lua代码进行加载,怎么加载?就是调用doString或doFile函数,所以在它俩函数上下段就可以把lua提取出来了,当前游戏只用到了doString

开始找,首先有一个新的OD,它比较快,已经放到了百度网盘了

然后想找lua就要在游戏还没打开的时候在lua_dostring上打断点,因为lua一般只会加载一次,如果每次都会加载会浪废性能

然后打开OD,下图红框拖动它到游戏窗口可以获得要被附加的进程

然后拖动到游戏窗口之后点击下图红框的选项,它附加好之后会让游戏处于卡死状态

然后点击下图红框

然后找到LuaPlus.dll

然后鼠标右击选择查看名称

然后找到lua_dostring,鼠标左键单击它,然后按F2,这里注意下图里可以看到函数的名字,有些游戏这里的名字是被加密的,被加密的我们就没法找了

然后点击下图红框让游戏运行起来

然后断下来,如下图文件名和文件目录(注意lua_dostring函数只有两个参数,第一个参数是状态指针、第二个参数是lua代码,所以下图红框的文件名是别的函数的)

然后如下图,点击跟随到反汇编窗口,来到调用lua_dostring的位置,这个位置可能就是加载lua脚本的位置

如下图来到加载lua脚本的位置,注意记得写注释后面要用,注意这时的lua_dostring函数上的断点并没有取消

然后按F9,看看还有没有别的位置调用lua_dostring函数,如下图,可以看到地址变了,这说明有其它位置调用lua_dostring

然后继续点击跟随到反汇编窗口,就来到下图红框位置,然后继续按F9

然后点击下图红框的E,然后找到游戏模块(上方通过跟随到反汇编窗口,它返回到了游戏模块里)并双击它

然后选择自定义注释

最终有4个位置

然后用鼠标单击它们并按F2,对它们打断点,这个目的是,这里要知道一件事lua脚本它会加载一次,也就是说游戏里的按钮不会触发到我们要找的加载lua脚本的操作也就是按钮不会触发lua_dostring函数,但是它有4个所以要确定哪一个不会被按钮触发,所以对它们都打断点,然后点击游戏里的按钮等东西看看它会在4个位置中什么位置上断下来,只要能断下来就不是我们要找的,如下图打断点,打了断点之后去游戏里点击界面里的按钮,最终会发现除了1其它三个位置(2、3、4位置)都会断下来,所以1位置是我们要找的


img


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

相关文章:

  • vue2+ element ui 集成pdfjs-dist
  • 前端-同源与跨域
  • JVM详解:JVM的系统架构
  • 使用pdfjs加载多页pdf并实现打印
  • 除了 Postman,还有什么好用的 API 调试工具吗
  • request爬虫库的小坑
  • 宏观经济学笔记
  • PyQt5 详细安装与配置教程及使用
  • CSS的配色
  • 阿尔特曼:AGI 和 ASI 将在未来几千天内到来
  • 【SSL-RL】自监督强化学习:随机潜在演员评论家 (SLAC)算法
  • 几种QQuickWidget与Qml交互数据的方法
  • 深入理解 Git 及其工具的用途、使用方法与区别
  • 项目功能--会员数量折线图
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷
  • EPLAN商业版与教育版的功能区别有多大
  • 「QT」几何数据类 之 QPoint 整型点类
  • 学习日记_20241110_聚类方法(K-Means)
  • MatSci-LLM ——潜力和挑战以及大规模语言模型在材料科学中的应用
  • 手机上用什么方法可以切换ip
  • 设计模式之建造者模式(各项装修物料组合套餐选配场景)
  • 边缘的检测
  • ssh中公钥和私钥是具体作用,以及通俗解释
  • JavaSecLab靶场搭建
  • JavaWeb:文件上传1
  • (Go基础)变量与常量?字面量与变量的较量!