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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911451.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

是时候用开源降低AI落地门槛了

过去三十多年,从Linux到KVM,从OpenStack到Kubernetes,IT领域众多关键技术都来自开源。开源技术不仅大幅降低了IT成本,也降低了企业技术创新的门槛。 那么,在生成式AI时代,开源能够为AI带来什么?…

xlwings,让excel飞起来!

excel已经成为必不可少的数据处理软件,几乎天天在用。python有很多支持操作excel的第三方库,xlwings是其中一个。 关于xlwings xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。 xlwings还…

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 数据库(MySql、MongoDB)

介绍 [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用 github地址:https://github.com/dotnetcore/CAP官网地址: https://cap.dotnetcore.xyz/官网文档:https://cap.dotnetcore.xyz/userguide/zh/cap/id…

【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning

通过元滤波器学习动态对齐以实现小样本学习 引用:Xu C, Fu Y, Liu C, et al. Learning dynamic alignment via meta-filter for few-shot learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 5182-5191. 论文…

IDEA 2024使用mybatisplus插件生成代码在项目中

在IDEA 插件市场搜索“mybatisplus”插件并安装,安装好后重启IDEA,安装过程网上很多教程,这里略过;IDEA 2024配置数据库和生成代码迁移到了Tools菜单下,原先版本在Other; 先完成数据库配置,点击Config Data…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾,我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节,我们将深入了解C2LinearBlock是什么,它的作用是什么,以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

LabVIEW离心泵性能优化测试系统

开发了一套基于LabVIEW平台开发的离心泵性能优化测试系统。系统集成了数据采集、流量控制、数据存储、报表生成等功能,提供了低成本、便捷操作的解决方案,适用于工业场景中对离心泵性能的精确测评。 项目背景 随着工业化进程的加速,离心泵在…

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 🍔 Self-attention的特点 🍔 Self-attention中的归一化概述 🍔 softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…

MML 中使用 libevent +std::async unix socket domain 进程间通信

可以执行大量超时的接口,直到任务执行完成 还可以在一个事件做检测,funtcure 中的值为ready 状态 uds 的用法和tcp 类似,会维护一个链接状态和分配一个链接套接字,这就为异步执行提供了很方便的条件 客户端就安静的做一个计时,看是否在固定事件内返回执行…

基础算法练习--滑动窗口(已完结)

算法介绍 滑动窗口算法来自tcp协议的一种特性,它的高效使得其也变成了算法题的一种重要考点.滑动窗口的实现实际上也是通过两个指针前后遍历集合实现,但是因为它有固定的解题格式,我将其单独做成一个篇章. 滑动窗口的解题格式: 首先,定义两个指针left和right,与双指针不同的…

算法:只出现一次的数字II

题目 链接:leetcode链接 思路分析 这道题目其实是一个观察题,比较考察观察能力。 数组中只有一个元素只出现一次,其他的元素都出现三次 我们假设有n个元素出现三次 那么所有的元素的第i位的和加起来只有下面的四种情况 3n * 0 0 3n * 0…

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式(加减乘除)web接口 优化篇target/目录占用一个g,仅仅一个actix的helloWorld demo升级rust版本, 通过rustupcargo换源windows下放弃吧,需要额外安装1g的toolchain并且要…

鸿蒙基本组件结构

组件结构 1. 认识基本的组件结构 ArkTS通过装饰器Component 和Entry 装饰 struct 关键字声明的数据结构,构成一个自定义组件 自定义组件中提供了一个build函数,开发者需要在函数内以链式调用的方式进行基本的UI描述,UI描述的方法请参考UI描述…

Python并发编程库:Asyncio的异步编程实战

Python并发编程库:Asyncio的异步编程实战 在现代应用中,并发和高效的I/O处理是影响系统性能的关键因素之一。Python的asyncio库是专为异步编程设计的模块,提供了一种更加高效、易读的并发编程方式,适用于处理大量的I/O密集型任务…

快速开发工具 Vite

快速开发工具 vite 摘要: **概念:**Vite 是一种新型前端构建工具,能够显著提升前端开发体验 **构造:**Vite 主要由一个开发服务器和一套构建指令组成。 Vite底层的服务器转换和转发:以处理ts文件为例 1-读取 forma…

Servlet-Filter

文章目录 一. Filter 过滤器1. 概括2. 原理3. api配置过滤器(Filter)拦截路径1.xml 方式2.注解方式 4. 生命流程a.执行流程b.拦截路径c.过滤器链 5. 登录校验-Filter 一. Filter 过滤器 1. 概括 过滤器,顾名思义就是对事物进行过滤的,在 Web 中的过滤器…

Hadoop简介及单点伪分布式安装

目录 1. 大数据2. Hadoop简介3. Hadoop伪分布式安装4. Hadoop启动参考 1. 大数据 大数据的定义:一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合。   特征:   1.海量的数据规模   2.快速的数据流转   3.…

python练习-袭击敌机

$ python -m pip install --user pygame1、画游戏框 class Settings:def __init__(self):self.screen_width 1200self.screen_height 800self.bg_color (230, 230, 230)import sys import pygame from settings import Settingsclass AlienInvasion:def __init__(self):pyg…

京东零售推荐系统可解释能力详解

作者:智能平台 张颖 本文导读 本文将介绍可解释能力在京东零售推荐系统中的应用实践。主要内容包括以下几大部分:推荐系统可解释定义、系统架构、排序可解释、模型可解释、流量可解释。 推荐系统可解释定义 推荐系统可解释的核心包括三部分&#xff0…

设备数据采集网关工作原理及优势-天拓四方

在日益智能化的时代,设备数据采集网关作为物联网系统中的关键组件,正扮演着越来越重要的角色。它不仅连接着各种设备,还负责数据的采集、处理与传输,为企业的数字化转型提供了坚实的基础。本文将详细探讨设备数据采集网关的定义、…