破解QQ游戏大厅多开限制 qq游戏大厅破解版

QQ游戏有一个限制,就是一个电脑上不让多开多个游戏大厅,防止本地的刷分,今天心血来潮想研究一下,就试试看能不能搞定它,用的工具是大名鼎鼎的IDA,用它可以单步跟踪调试。

先说说步骤吧,步骤挺简单的,IDA有一个图形方式,点单步跟踪下来,看看大概流程,需要说明的是,根据很多信息表明,QQ游戏是使用MFC写的,并且代码里有一个明显的WinMain的入口,这里就是最基本的突破点。

先开一个大厅,跟踪一次,再关闭原来的大厅,只开一个实例跟踪一次,结果就能大概判断出来流程的差异,并找到检测是否躲开的入口函数,一步步单步跟踪,基本上就是在每个call的位置设断点,就可以找到最关键的部分。

最关键的部分是什么呢,这里稍微介绍一点关于防止多实例的办法:

1、通过枚举进程的方法检查;
2、通过FindWindow查找窗体类检查;
3、通过CreateMutex建立内核对象检查。

方法1:检查进程,然后判断是否有重名的进程,此方法相当不可靠最容易破解,通常不会采用,并且枚举进程在不同系统上API差别比较大,通常不会用这样的方法。

方法2:FindWindow,这是很常用的一种方法,但是通过分析QQ游戏发现,QQ游戏窗口的窗体类名不同版本并不一样,所以估计腾讯使用这种方法防止多实例比较麻烦

方法3:这种方法是建立一个内核对象,如果内核对象已经存在,那么在创建以后马上使用GetLastError检查的话,会返回一个ERROR_ALREADY_EXIST,十六进制值是0xB7,这种方法很通用,而且不同Windows版本基本上都支持,是一种很好的方法。

在破解之前,显然不知道QQ游戏使用哪种方法,所以,单步跟踪的时候都要注意,方法1的一个办法就是在QQ游戏启动以后看看是否加载了psapi.dll这个库,如果没有,就不会,另外两个方法可以在kernel32.dll和user32.dll里增加断点来实现。

实际调试表明,腾讯使用第三种方法,它的检查函数位于Utility.dll里,在我使用的这个版本里,反汇编内容如下:

.text:10012F3Ccallds:CreateMutexA
.text:10012F42test eax,eax
.text:10012F44mov[esi+4Ch], eax
破解QQ游戏大厅多开限制 qq游戏大厅破解版
.text:10012F47jzshort loc_10012F6D
.text:10012F49callds:GetLastError
.text:10012F4Fcmpeax, 0B7h
.text:10012F54movecx, esi
.text:10012F56jnzshort loc_10012F5F

这里用了一个很“标准”的方法:CreateMutex然后GetLastError,如果返回值等于0xB7则跳转到某个地址返回。

所以,索性全部改掉它,jnz的意思是,如果不相等,就跳转到某地址,那么,也不要判断相等不相等了,把10012F56到10012F5E全部改成nop(0x90)就没有问题了。

实验证明此种方法可行,并且没有什么副作用。

分析到此为止,为什么网上有那么多的多开补丁存在,确实腾讯使用的这种方法是比较简单的,也容易被破解。

  

爱华网本文地址 » http://www.aihuau.com/a/25101010/38253.html

更多阅读

360浏览器小号多开插件在哪里? edge浏览器插件在哪里

360浏览器小号多开插件在哪里?——简介相信现在很多朋友喜欢玩网页游戏,诸如QQ空间的一些都是大家比较喜欢的,而说到网页游戏,想必对于小号多开这个词并不陌生,360浏览器的小号多开功能想必大家以前也可能有用过,不过不少朋友应该也会发现

如何使用360浏览器进行游戏多开 360浏览器小游戏加速

如何使用360浏览器进行游戏多开——简介大家在玩网页游戏的时候,有时会因为一些原因需要建设小号,进行游戏多开。下面我就和大家讲讲如何用360浏览器进行网页游戏多开。如何使用360浏览器进行游戏多开——方法/步骤如何使用360浏览

手机上如何登陆多个QQ 手机QQ多开方法 手机丢失怎么登陆qq

手机上如何登陆多个QQ 手机QQ多开方法——简介QQ大号,又有小号的童鞋们,往往想在手机上登录多个QQ,这样一种想法如何才能得以实现列?下面和你分享下我的方法,希望对你有所帮助哦~~~~手机上如何登陆多个QQ 手机QQ多开方法——工具/原料手

声明:《破解QQ游戏大厅多开限制 qq游戏大厅破解版》为网友璐直嘟恠分享!如侵犯到您的合法权益请联系我们删除