首页
社区
课程
招聘
[原创] QEMU/KVM + moonlight实现串流游戏作弊
2023-7-31 18:00 17806

[原创] QEMU/KVM + moonlight实现串流游戏作弊

2023-7-31 18:00
17806

QEMU/KVM + moonlight实现串流游戏作弊

GitHub: https://github.com/cs1ime/blacksun-framework

有些代码是好久之前写的C代码缝合起来的,内存搜索,GameParser这种,因为实在不想重写一遍,看不懂就gdb调起来逆向呗

还有些代码是初学c++的时候写的,绘制这块,render模块其实可以用weak_ptr拿共享内存的,有空安排一个C SDK出来

本文中涉及到的源码和技术仅限交流学习,不得用于非法用途

已经做到

  • 绘制和读写都在虚拟机外部实现,绕过一切反作弊外挂检测(云游戏厂商都用的KVM虚拟机)
  • 修改moonlight源码实现imgui绘制,兼容vaapi(opengl),vdpau(sdlrender)
  • 利用NAT网络通信以做到超低延迟的moonlight串流画面
  • 通过对moonlight发送SDL_Event实现键鼠模拟
  • 模拟100hz回报率的鼠标进行自瞄以做到丝滑的自瞄效果
  • 屏蔽鼠标侧键(触发自瞄的按键)输入虚拟机以做到更隐蔽的自瞄

接下来可能会实现的功能:

  1. UE引擎外部光线追踪: kvm外部读写速度非常快,而且作弊有一个Linux作为运行环境,拿到周围所有的可碰撞物体的空间信息,跑一个光追算法就可以了
  2. Ept断点: 利用vt的MTF,一核一个eptp,eptp的读写执行属性每个都能单独存在的特性,处理好cow(也可以不处理)就能轻松的做到断点,这东西特别无脑,CPU自带的硬断还要处理单步+线程调度的问题,这东西完全不用处理这些
  3. Invoke: 可以利用Ept断点做hook,用轮询+读写锁的方式与用户层做通讯,用户层用一个coroutine做hook的callback,callback里用yield来做invoke,观察栈内存断点来判断返回并判断超时,返回之后resume coroutine.实现Invoke之后基本和注入没啥区别了

KVM的正常用户和反作弊可能采取的动作:

  1. 云游戏服务提供商: 反作弊可能和他们合作,把他们的KVM环境标记为合法的,不过这个影响不大的,没人会顶着这么大延迟玩fps射击类游戏
  2. 家庭串流游戏用户: 这类用户可能会使用KVM,但是国内无wifi6e,体验会跟不上,会比较少
  3. 用linux玩Windows游戏的用户: 这也是一个很好的用linux玩Windows游戏的方法,looking glass也用的串流传画面

反作弊可能会采取的对抗方案:

  1. 控制机上装反作弊: 这样子是无意义的,因为控制机可能是基于GPL的系统,GPL上玩不了Windows那套的

  2. 不支持KVM: 这能彻底解决这个问题,但是实机Windows做串流游戏机不太好,有的时候容易BSOD,用远程控制插座和局域网开机来解决这个问题,但是这样子做对硬件很不好,最好的家庭串流游戏方案还是KVM管理客户机

  3. 标记KVM用户: KVM用户玩的太强了就BAN了

  4. 开发一个Host OS放到市场上: 如果想在Host OS上运行检测的话需要绕过GPL,要独立开发一个VMM.如果想彻底解决作弊问题得BIOS,主板都用自己的一套.目前最有可能做到的公司就是Microsoft,自家有xbox产品线,hyper-v,gpu半虚拟化技术


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-7-31 22:59 被cslime编辑 ,原因: 本文中涉及到的源码和技术仅限交流学习,不得用于非法用途
收藏
点赞7
打赏
分享
最新回复 (16)
雪    币: 3674
活跃值: (3853)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caolinkai 2023-7-31 18:32
2
0
牛逼
雪    币: 12837
活跃值: (8998)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2023-7-31 18:57
3
0

你说的对,但是《Easy PRO KVM》是由圈狗自主研发的一款全新硬件级作弊程式。故事发生在一个被称作「完美对战平台」的幻想世界,在这里,被神选中的人将被授予「网页雷达」,导引蜘蛛感应之力。你将扮演一位名为「tankaiyan」的神秘角色在上班过程中邂逅性格各异、能力独特的同事们,和他们一起封禁作弊者——同时,逐步发掘「人工」的真相。

最后于 2023-7-31 19:09 被hzqst编辑 ,原因:
雪    币: 4448
活跃值: (3481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木志本柯 2023-7-31 22:14
4
0
哈哈草  我们都是因为外挂才聚在一起的  如果没有外挂  系统底层研究 人工智能研究  逆向技术 都要停滞慢下来
雪    币: 19410
活跃值: (29069)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-8-1 09:46
5
1
tql
雪    币: 318
活跃值: (213402)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
shinratensei 1 2023-8-1 11:15
6
0
逐步发掘「人工」的真相

岂不是创造了工作岗位
雪    币: 463
活跃值: (1696)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
Istaroth 2023-8-1 11:24
7
0

tql

最后于 2023-8-1 11:36 被Istaroth编辑 ,原因:
雪    币: 149
活跃值: (2023)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saloyun 2023-8-1 11:59
8
0
很强。
雪    币: 6124
活跃值: (4081)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 1 2023-8-2 08:05
9
0

你说的对,但是《融合器》是由圈狗自主研发的一款全新硬件级作弊程式。故事发生在一个被称作「完美对战平台」的幻想世界,在这里,通过一种名为“扣色”的古老技术将两个显示器信号叠加到一起,这将引发一种名为【无光之暗】的天灾,被神选中的人将被授予名为【ESP】的特殊能力,它们全知全视。你将扮演一位名为「tankaiyan」的神秘角色在上班过程中邂逅性格各异、能力独特的同事们,和他们一起封禁作弊者——同时,逐步发掘「人工」的真相。

最后于 2023-8-2 08:16 被黑洛编辑 ,原因:
雪    币: 3126
活跃值: (3578)
能力值: ( LV8,RANK:158 )
在线值:
发帖
回帖
粉丝
cslime 2 2023-8-2 12:05
10
0
黑洛 你说的对,但是《融合器》是由圈狗自主研发的一款全新硬件级作弊程式。故事发生在一个被称作「完美对战平台」的幻想世界,在这里,通过一种名为“扣色”的古老技术将两个显示器信号叠加到一起,这将引发一种名为【无 ...
草()
没了解过融合器这东西,看名字“扣色”感觉不像是采集卡那种passthrough
雪    币: 22
活跃值: (546)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
AntiPsycho 2023-8-2 17:41
11
0
我擦牛p,想问问用 QEMU/KVM 玩游戏能到多少帧 FPS?
雪    币: 6124
活跃值: (4081)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 1 2023-8-2 19:37
12
0
cslime 草() 没了解过融合器这东西,看名字“扣色”感觉不像是采集卡那种passthrough
据说都卖断货了,但是我手里暂时没东西,具体还没分析过
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_jcdhovsq 2023-8-9 18:24
13
0
大佬
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_ymbztzvc 2023-8-24 11:34
14
0
大佬大佬,通过对moonlight发送SDL_Event实现键鼠模拟这一步是通过修改moonlight源码做到的吗,SDL可以垮进程发送吗
雪    币: 0
活跃值: (114)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
路人Ding 2023-10-29 19:53
15
0
游戏直接禁止在虚拟机内运行,阁下又该如何应对
雪    币: 3126
活跃值: (3578)
能力值: ( LV8,RANK:158 )
在线值:
发帖
回帖
粉丝
cslime 2 2023-10-29 21:24
16
0
路人Ding 游戏直接禁止在虚拟机内运行,阁下又该如何应对
麻烦看完文章 谢谢
雪    币: 1517
活跃值: (3290)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小希希 2023-11-10 13:49
17
0
牛逼
游客
登录 | 注册 方可回帖
返回