易语言实地培训长期招生 QQ1615457736

乐易论坛

 找回密码
 立即注册

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

导航
导航
培训
培训
产品
产品
易歪歪客服聊天助手——永久免费阿里云服务器最高¥1888云产品通用代金券我要租广告
易歪歪客服聊天助手——永久免费阿里云服务器低至10元/月我要租广告
易歪歪客服聊天助手——永久免费最高2000云产品通用代金券我要租广告
查看: 5115|回复: 6
收起左侧

[图文教程] 游戏多开的原理与方法

[复制链接]
  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 697 天

    [LV.9]以坛为家II

    发表于 2016-4-13 16:18:47 | 显示全部楼层 |阅读模式

    乐易编程网免费注册!抓住机会哦!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    游戏多开的原理与方法

    第一,进程隐藏

    部分游戏通过探测游戏客户Duan进程是否已经存在来防止重复打开,如游戏:英雄美人游戏多开的办法为启动一个游戏客户Duan后,将该游戏的进程隐藏,只保留一个或多个。

    第二,窗口标题修改(使用FindWindow API函数)

    部分游戏通过探测游戏客户Duan的窗口是否已经存在来防止重复打开。游戏多开的办法为将游戏的窗口修改为任意字符。

    第三,端口隐藏

    部分游戏通过默认打开TCP或者UDP端口监听,开第二个游戏的时候会打开端口失败从而判断游戏是否多开。游戏多开的方法为此类需要采用netstat –a –n –o 命令查看端口即可实现游戏多开。

    第四,多个游戏目录

    部分游戏通过独占文件访问来防止重复打开。

    游戏多开的方法为复制游戏客户Duan到另外的文件夹,在另外的文件夹打开即可。

    第五,多个操作系统账号(仅限XP系统)

    部分游戏通过限制一个用户只能打开一个游戏来防止重复打开。游戏多开的方法为在系统账号里面多建立账号,一个游戏使用一个账号。

    方法如下:

    1、打开控制面版→用户帐户→创建一个新帐户→输入新帐户名(下一步)→创建帐户;
    2、然后到桌面的游戏快捷图标上右键到[属性] 选[高级] 把里面[以其他用户身份运行]这个选项勾上 开第2个程序的时候记得用你新建的用户进就可以了,省的老去切换用户了。

    第六,互斥体。

    部分游戏通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。最常用的函数如:CreateMutexA。

    1、首先创建一个互斥体,CreateMutex函数,第一个参数可以设置为NULL,第二个参数必须设置为false,第三个参数表示互斥体的名称,这个名称最好有一些特殊标识以防止与其他应用程序冲突,比如程序名+时间。

    2、使用GetLastError()函数判断错误信息是否为ERROR_ALREADY_EXISTS,如果是,则表示程序已经启动。

    游戏多开的方法有二种,一为发现互斥体,然后关闭互斥体即可实现多开。二为APIHOOK,接收到错误信息时,加重置命令(置错误码=0)即可。QQ游戏,天龙八部==最常见的类型

    第七,内存映射文件(File MApping)

    部分游戏通过把程序实例信息放到跨进程的内存映射文件中,防止游戏多开。游戏多开的方法为拦阻该函数,不让它命名内核文件即可实现多开。

    第八,DLL全局共享

    DLL全局共享区在映射到各个进程的地址空间时仅被初始化一次,且是在第一次被windows加载时,所以利用该区数据就能对程序进行多开限制。游戏多开的方法为DLL劫持让游戏一开始运行就加载你的DLL,再转到原来的dll上就可以实现多开了。

    第九,使用公共文件

    程序启动时,在一个公共目录(比如C:\或者Temp目录)中创建一个公共文件,并将此文件设置为不共享读写。第二个程序启动时,也打开此文件,如果打开成功,则表示程序未启动过,否则表示程序已经启动。

    游戏多开的方法为:手动设置多开,比如:设定文件访问权限,不允许此程序在公共目录创建文件等。

    第十,Mac地址验证

    登陆服务器时,获取本机mac地址,发送至服务器端,服务端进行mac地址验证,如果mac地址重复登陆,则不允许同服务器进行消息传递。

    多开游戏的多法为:使用超级兔子等软件修改mac地址实现多开,针对此情况,本人也写了一个修改Mac地址的小工具,大家可以在网站下载。

    第十一,查看网络连接

    获取本机所有网络连接,使用GetTcpTable获取TCP连接,使用GetUdpTable获取UDP连接,检查是否有连接到服务器IP和端口号的连接,如果有,表示程序已经启动,否则程序未启动。需要注意的是,其获取的ip和端口号都是一个DWORD值,并且高低位相反。IP地址可以通过inet_addr函数将字符串形式的IP地址(如“127.0.0.1”)转换为DWORD型的,端口号可以使用以下公式转换:DWORD dwPort = ((nPort & 0xff) << 8) + ((nPort & 0xff00) >> 8);

    多开游戏的方法为:挂系统钩子,导致GetTcpTable函数失败实现多开。

    游戏防止多开的方法有时候并不是只用一个方法的,多数游戏都会用多种方法一起来防止多开的,只要大家都懂得这几个游戏多开的原理,灵活运行,一个一个分析排查,基本上都能解决各种游戏多开了.。


    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复

    使用道具 举报

    该用户从未签到

    发表于 2016-4-13 18:26:51 | 显示全部楼层
    学习了,学习咯~~~
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-1-8 08:42
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2016-4-13 20:20:18 | 显示全部楼层
    么么哒!
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复

    使用道具 举报

    该用户从未签到

    发表于 2016-4-14 08:10:24 | 显示全部楼层
    好的 学些了发的啥地方
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-4-14 13:09:11 | 显示全部楼层
    学习一下,方法真多
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-4-16 10:28:32 | 显示全部楼层
    看看,学习学习学习学习
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-8-1 08:31
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2016-4-16 14:21:32 | 显示全部楼层
    看看,学习学习学习学习
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    乐易推荐上一条 /6 下一条

    QQ|网站地图|Archiver|手机版|小黑屋|乐易论坛 ( 湘ICP备19007035号-2 )

    GMT+8, 2019-9-20 07:36 , Processed in 0.081357 second(s), 71 queries , Redis On.

    Powered by Discuz! X3.4 Licensed

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表