>新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

>新手试水<突破网络游戏传奇多开限制

   随着经济大环境下行,空闲时间也多了,就玩起儿时的游戏,我发现这款传奇游戏只能单开,在点击客户端没反应,利用仅有的一点网络知识,一阵瞎鼓捣:

  1. 确定关键互斥体句柄

经过测试,只要关闭以下2个句柄,就可以突破多开限制,打开2个客户端。

图片[1]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

  1. 编写关闭句柄

经测试,关闭其他程序句柄(比如微信)可以成功,单独游戏进程提示找不到相关句柄名,全部为空。

图片[2]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

利用openark工具打开查看游戏进程句柄,是空的。

图片[3]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

但是用pyark工具打开却是看的到的,关闭相应句柄,就能多开。

图片[4]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

可能是GPK驱动保护的问题,那就换个思路,刷到过您的教程,利用IDA工具给客户端打补丁。从客户端程序mir.dat文件,拖入IDA,搜索字段CreateMutexA,找到了2处:

图片[5]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

双击看了一下,没有发现教程中出现的流程图。

图片[6]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

这里无论怎么修改(nop掉,改xor),运行客户端都会报内存错误。绝对新手,搞不懂,用OD跟一下。先打开一个客户端,然后OD再打开一个客户端,设置bp exitprocess断点,F9运行,程序断下:

图片[7]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网反汇编跟随了一下,就在下面:

图片[8]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

跟随了这个call 0042897c,发现了创建关键句柄名,直接填充掉

图片[9]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

图片[10]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

保存修改后,再次运行游戏,就可以双开了。为了防止客户端更新,用python做个登录器。

图片[11]->新手试水<突破网络游戏传奇多开限制-游戏安全逆向社区论坛-技术社区-学技术网

未明白的问题,请教大佬们:

1>.即使管理员权限运行脚本,提示找不到相应句柄?

2>既然不能关闭句柄,想到的是利用API hook拦截用于拦截 CreateMutexA 调用,并阻止创建特定的互斥体。

按照网上教程生成,先生成DLL,在启动游戏之前调用 inject_dll 函数,注入DLL文件,从而实现对 CreateMutexA 调用的拦截。还是提示:提示注入失败:argument 1:TypeError:Don’t know how to convert parameter 1。

能否给出具体解决办法?

请登录后发表评论