83.游戏改造-窗口化

news2024/11/24 20:30:27

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

内容参考于:易道云信息技术研究院

上一个内容:82.游戏改造-修改分辨率

逆向窗口化的思路:

首先使用Ollydbg工具打开 82.游戏改造-修改分辨率 它保存的文件

打开之后跟随入口点

首先游戏得到命令行也是通过api,然后先找获取命令行的api,如果不用api会在PEB结构中获取,用API的方式最简单,然后 GetCommandLineA 函数就是用来获取命令行的,在Ollydbg中往下滑可以看到它确实调用了获取命令行的函数,下图红框

然后在调用 GetCommandLineA 函数 位置打断点看看执行完的EAX,可以看到内存地址的值是我们游戏的路径和命令行,然后把游戏路径写到了一个全局变量54E1F0中

然后在想一下如果我们写获取命令行的代码肯定是得到全局变量54E1F0对它进行拆分,因为得到的命令行字符串是游戏路径加命令的数据所以一定会拆分,拆分之后判断这个字符串是不是window,然后也就是会写if(变量a == "window"),然后"window"在c/c++中叫字符常量,字符常量在内存中有专门的区域存放相当于一个全局变量但是这个东西不让改,但是在内存中有一个专属的内存空间,然后利用这个特性那么在专属区域中一定有window这个字符串,利用Olldbg工具的插件可以进行查找

window是char类型的字符串所以用查找ASCII的方式找,右击可以搜索字符串

然后下图位置就找到了,然后双击它可以调转到代码位置

双击之后的截图

断点到下图红色位置然后单步分析

得到 -window 命令

然后再往下是一个圈圈套圈圈的代码,可能是一个循环

完整版注释

然后下图红框位置调用的函数比较奇怪

奇怪的代码,由下面的代码可以分析出当前游戏是被人破解过的,一段正常编写的代码是不可能会出现NOP的,也不可能判断之后不跳转这样的代码,还有判断之后必跳转这样的代码是不可能出现的,所以我们的游戏是被破解过的,破解的证据就在下图中,当年要玩是要插入光盘才可以玩的,

然后返回继续往下看,然后现在跟我关系最大的就是EBP,因为判断了window之后EBP等于了0,然后就找EBP在哪用了,然后看下图红框是在 82.游戏改造-修改分辨率 它里面修改分辨率时用到的,然后这里也push了一个EBP,所以第三个参数是用来控制要不要窗口化的

然后把EBP设置值的地方强制让它等于0,然后备份一个exe文件

右击选择复制到可执行文件-》所有修改

然后选择全部复制

然后选择保存数据到文件

然后运行它就会发现不用写window命令就看窗口化了,最后别忘了创建快捷方式并且设置16位色深

运行之后发现设置的分辨率失效了,后面写窗口化时如何修改分辨率


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《重温JavaScript五子棋小游戏》

目录 全部运行代码:五子棋游戏的基本步骤:代码剖析:1. 初始化游戏界面2. 管理游戏状态3. 玩家交互4. 电脑AI5. 胜负判定6. 游戏控制 本文通过实现一个基本的五子棋游戏,展示了如何使用HTML、CSS和JavaScript来构建一个简单的交互式…

校园疫情防控系统

TOC springboot0780校园疫情防控系统 第1章 绪论 1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。学校管理水平的不断提高,日常生活中学生对校园疫情防控方面的要求也在不断提高,学生的人数更是不断增加,使得…

虚幻5|AI视力系统,听力系统,预测系统(3)预测系统

虚幻5|AI视力系统,听力系统,预测系统(2)听力系统-CSDN博客 一,添加一个AI预感感官配置 1.选中我们的AIPerception,右侧细节添加一个AI预感感官配置,然后我们把所有感官的年龄都调成5,是所有 2…

jmeter——添加测试片段

问:为什么要添加测试片段? 答:在测试的过程中,有可能遇到这一个测试需要上一个测试为前提的情况,例如:登录之后才能下单,所以先要进行登录,因此就用到【测试片段】。 1、右键【测试…

网络协议概述,ip协议,TCP协议,udp协议,二者区别,python中用socket类实现网络通信程序的编写(服务器套接字实现TCP编程,UDP编程)

七层协议 ① ip协议 ②TCP协议 TCP协议面向连接的,可靠的协议,有三次握手来保证可靠性 ③ udp协议 不一定可以保证数据发过去,像发短信一样,对方不一定在线,号码也不一定对 TCP,UDP之间存在一些区别&#xff1a…

JavaSocket编程

一、JavaSocket编程 1.1HTTP协议 后端原理 2. 特点 同步:就是两个任务执行的过程中,其中一个任务要等另一个任务完成某各阶段性工作才能继续执行,如厨师A炒番茄,将葱花放入锅中,然后需要放入番茄,但是厨…

【计算机系统基础读书笔记】1.1.3 程序和指令的执行过程

冯诺依曼结构计算机的功能通过执行程序实现,程序的执行过程就算所包含的指令的执行过程。 指令(instruction)是用0和1表示的一串0/1序列,用来指示CPU完成一个特定的原子操作。 指令(instruction)在计算机科…

Redis 键值型数据库

一、Redis是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(Key/Value)分布式内存数据 库,基于内存…

悟空大爆,OZON有哪些悟空产品推荐

Top1 减压玩具 Электронный поп ит пикачу Pop It антистресс 商品id:1592564066 月销量:811 OZON有哪些悟空产品,详情看工具:D。DDqbt。COm/74rD 此款减压玩具以其独特的设计,为…

保姆级教程!奶奶都能学会的Mac本地部署Stable Diffusion教程

一、为什么选择Stable-diffusion 举一个简单的例子,Midjourney和Stable diffusion在照片处理领域就好比是“美图秀秀”和“PS”;在短视频制作领域,就好比是“剪映”和“PR”。 这样说是不是更容易理解了,如果你是新手只想单纯的…

最高身高(c语言)

1.//描述 //KiKi想从n行m列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。 // //输入描述: //第一行包含两个整数n和m,表示这个方阵队列包含n行m列。从2到n 1行, // 每行输入m个整数(范围 - 231~231 -…

当黑神话遇上AI:悟空背后的策划逆袭战

声明:此篇为 ai123.cn 原创文章,转载请标明出处链接:https://ai123.cn/2192.html 哈喽,亲爱的游戏迷,随着《黑神话:悟空》的上线,大家都在忙着“直面天命”了吧?今天我想和大家分享最…

基于Java爬取微博数据(四) 获取 图片 or 视频

基于Java爬取微博数据四 获取 图片 or 视频 图片 or 视频转存 图片 or 视频注意点 前面已经讲述了基于 Java 爬取微博正文列表内容,微博用户主页内容以及导出爬取到的微博数据等操作,那么下面讲述一下如何处理微博正文中的图片/视频等内容。 图片 or 视…

linux笔记1

命令格式 命令行界面的提示符解析: [rootlocalhost ~]# root位置: 登录用户名 : 连接符号 localhost位置: 本机的主机名 ~位置: 当前的所在位置 #位置: 表示是超级管理员还是普通用户 超级管…

Cesium 自定义MaterialProperty原理解析

MaterialProperty是一个抽象接口类,它定义了Entity图元的材质要实现的属性和函数。这些属性和函数主要是cesium 内部调用,用于减少cesium 内部对材质的重复创建和缓存,减少内存开销。 1. Property 类 Property类是所有属性的抽象接口类&…

B2B⼤宗电商交易系统功能案例分析

B2B大宗电商交易系统是构建高效、安全、可扩展电子商务平台的重要基石。以下是对该系统后端架构与关键功能的详细解析: 后端架构 B2B大宗电商交易系统的后端架构通常涉及多个关键组件和技术,以确保系统的稳定运行和高效处理。主要组成部分包括&#xff…

UE4编安卓时Core模块为何只include Android文件夹?

Core模块 Core模块是整个引擎中最核心的模块。几乎UE4中的每个其他模块都导入Core。Engine\Source\Runtime\Core\Private下有很多文件夹&#xff0c;下面罗列一部分&#xff1a; G:\St\EngineSource\Engine\Source\Runtime\Core\Private 的目录 2024/07/18 12:02 <DIR…

AOC U27U2P创作设计旗舰——传递情感,用色彩说话!

摘要&#xff1a;每一次设计都是一种表达&#xff0c;每一次创作都是一次成长 并不是所有的路在一开始走的时候&#xff0c;都能找到正确的方向。对于设计师而言&#xff0c;在创作与设计的道路上&#xff0c;亦是如此。灵感的枯竭、无休止的改稿、色彩的偏差等等&#xff0c;…

基于springboot的校园失物招领系统--论文pf

TOC springboot483基于springboot的校园失物招领系统--论文pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域位置往往是人…

Linux yum提示Error downloading packages

很明显的错误&#xff0c;没有考虑过磁盘空间&#xff0c;记录一下。 Error downloading packages:gcc-4.8.5-44.el7.x86_64: Insufficient space in download directory /var/cache/yum/x86_64/7/base/packages* free 0 * needed 16 M使用du查看当前目录下所有文件大小 du …