大部分游戏为了防止工作室通过多开游戏牟利,都会采取各种手段来防止游戏被多次打开。检测窗口标题,创建互斥体,创建内存映射这些都是防止游戏多开的常用手段。
主要内容
游戏运行后,无非执行两步操作

  • 若已经存在,退出游戏
    检测是否存在已经启动的游戏---- 或
  • 若不存在,正常运行

在很多情况下,我们并不知道游戏采用的是什么手段来防止多开,这个时候我们可以通过游戏的这两步操作来找到游戏检测的代码,通过修改该代码来实现多开。
就拿龙之谷的单机版作为本文的例子。
先打开一个游戏,再运行一个游戏

然后发现第二次打开的游戏自动结束了进程。
把游戏文件拖入OD,下退出断点后,运行游戏

断下后往上返回

来到游戏调用退出的地方

00893CBE是游戏结束的CALL,我们发现无论上面的跳转是跳还是不跳都会执行退出CALL,

所以如果游戏要正常运行就不会运行到这段代码,我们试着往上找,看看有没有跳转跳过这段代码,一直往上,来到段首

发现游戏调用了GetStartupInfo 这是个获取启动信息的API

也就是说游戏启动后会运行到这里的代码,因为后面有游戏退出的CALL,且没有跳过这个CALL的跳转,所以我们可以了解到游戏运行的过程

因此,我们在段首下断,找到游戏运行call,进到call里找到检测多开的部分就可以实现多开。

段首下断,重载文件后运行

断下后,我们先关闭第一次打开的游戏,让游戏正常走,从而找到正常运行的CALL

F8往下走。

来到这个位置,我们发现游戏跑起来了,F7进入call,往下翻就可以看到游戏创建互斥体的过程

创建互斥体后下面有个跳转,若eax=0xB7 跳转不执行然后JMP

这个jmp是跳到CALL的末尾的,从前面过程可知,出了这个CALL就是程序退出了,所以我们必须要让这个JNZ跳转,把jnz改成jmp后保存

然后先开启一个游戏,在开启一个游戏

这时候我们就实现游戏多开了。

小结0x2:

本文主要讲述了对于一般游戏实现多开的通用方法,不同游戏可能会遇到不同的问题,需要结合具体情况进行分析。

游戏多开的分析与实现相关推荐

  1. 一款游戏辅助程序的分析、制作方法

    0.前言 本文仅限于技术交流,文中所附数据纯属虚构,如有雷同,实在是巧合! 本文简单地探讨了一款游戏辅助程序的分析.制作方法,希望能对那些对此感兴趣的朋友们有些许帮助. 本人小菜鸟一只,水平有限,说得 ...

  2. 游戏服务器框架概括分析

    游戏服务器框架概括分析 关注公众号 风色年代(itfantasycc) 500G游戏开发资料随便拿! 这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小.选择写这样一个系列的文章, ...

  3. QQ空间玩吧HTML5游戏引擎使用比例分析

    GameLook报道/"Cocos 2015开发者大会(春季)"于4月2日在国家会议中心圆满落下帷幕.在会上全新的3D编辑器,Cocos Runtime等产品重磅公布,给业界带来了 ...

  4. 降低指定进程的CPU占用率(适合游戏多开)

    应用场景举例 推荐BES软件 应用场景举例 游戏多开,比如<天书世界>网页游戏,单开占用CPU30%左右:最小化能够降低到10%以下. 如果多开,那么CPU就是叠加累计,非常占用CPU资源 ...

  5. Bat脚本多开微信分析

    Bat脚本微信多开原理分析 文章目录 Bat脚本微信多开原理分析 前言 本文将介绍两种方式多开微信,各有优缺. 一.关闭Mutex的方式 二.Bat脚本脚本多开 三.总结对比 四.最后畅玩一下斗地主 ...

  6. 关于烧饼游戏修改器的分析

    一.前言 烧饼游戏修改器是一款元老级的游戏修改器,提供了精确搜索.模糊搜索.联合搜索.数据过滤.存储搜索与读取搜索等功能.主要实现搜索手机进程的内存数据并做相应修改. 本文中分析的版本为2.0.2(3 ...

  7. 多开游戏用虚拟机还是服务器,(虚拟机游戏多开的最好选择多开本人的方法.ppt...

    (虚拟机游戏多开的最好选择多开本人的方法 虚拟机 虚拟机种类 目前流行的虚拟机软件有VMware(VMWare ACE).Virtual Box和Virtual PC,它们都能在Windows系统上虚 ...

  8. 从游戏服务端角度分析移动同步(状态同步)

    从游戏服务端角度分析移动同步(状态同步) 参考文章: https://www.lfzxb.top/ow-gdc-gameplay-architecture-and-netcode/ https://z ...

  9. 【Unity】动作游戏开发实战详细分析-07-连续技与组合技功能设计

    [Unity]动作游戏开发实战详细分析-07-连续技与组合技功能设计 基本思路 在一些动作游戏中,存在着连续技这一功能,具体来说就是连续按下规定的按键会触发能力的功能,或者是长按触发等等. 实现解析 ...

最新文章

  1. Day 31 并发编程
  2. 数据结构-----AVL树的旋转操作
  3. 让Eclipse变得快点,取消validation
  4. FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
  5. 一文搞懂Oracle 0 至 6 级锁(附案例详解)
  6. 一道sql 的面试题
  7. 南京工业大学计算机研究生分数,2019南京工业大学研究生分数线汇总(含2016-2019历年复试)...
  8. Word中 Visio 图片到 LaTeX PDF
  9. 苹果手机截图的两种方法
  10. c语言printf()输出格式大全(转载)
  11. 淘宝返利模式的简单实现方法
  12. QT 5.7 for iOS Xcode 8 Project ERROR: Xcode not set up properly. You may need to confirm the license
  13. 面试系统设计_如何进行系统设计面试
  14. 深度估计 DenseDepth 笔记
  15. 灰色关联分析的简单介绍以及使用
  16. js jq 图片上传功能
  17. 如何加盟游戏代理充值
  18. 【FZU】Problem 2181 快来买肉松饼 点双连通
  19. DNS Reply Flood防御原理
  20. py229基于python的网上咖啡商城#毕业设计

热门文章

  1. 连续因果森林模型在网约车交易市场策略上的应用
  2. 网店门面怎样运用RPA虚拟员工提高受理效率
  3. windows下mysql初始密码设置
  4. 查看mysql数据库存储大小
  5. Python列表 list底层实现
  6. [实用技能] 安装程序双击无反应,重新下载也没用怎么办?
  7. 谷歌android one刷机包,原生党福音!小米5X成功适配Android One:谷歌更新
  8. oracle两个列累加,Oracle-累加功能,累加百分比
  9. 基于arduino-due,jlink以及OpenOCD搭建zephyr调试平台
  10. Redis-基础知识