首页
社区
课程
招聘
[原创]对BEShellCode扫描steam劫持渲染的小分析
发表于: 2020-1-12 22:13 8224

[原创]对BEShellCode扫描steam劫持渲染的小分析

2020-1-12 22:13
8224

主题:对BEShellCode扫描steam劫持渲染的小分析

平台:Window7 x64

调试工具:IDA 7.2

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

0x00:前言

题主逆向水平很低,分析主要参考谷歌到的资料。遇到讲的不对的地方,欢迎指正。

请勿用于非法用途,仅仅用于学习的目的,不针对某款游戏。

0x01:分析

这段扫描的ShellCode由BE服务器下发,扫描完成后即释放。

如何dump到ShellCode呢,游戏会调用API,在他使用的常规API下断以后回溯到调用代码即为他的ShellCode,此时我们使用工具Dump下来即可。

这里是扫描GameOverlayUI的开始(GameOverlayUI进程是负责跟游戏通信的,具体渲染应该是由游戏完成的)

可以看到BeShellCode首先打开了进程


长话短说

1. 首先调用NtQueryVirtualMemory 查询内存信息 如果存在内存块 State=MEM_COMMIT 并且 Type=MEM_PRIVATE 并且为可执行内存 并且内存段大小大于0x10000就会发送给BE服务

2. 第二段为循环遍历内存每次递增1000 扫描文本跟某些特征 扫了6个 存在即发送给BE服务

Home F1 是其中两个 如果打开进程失败 即会发送到BE服务


3. 扫描内存块大小小于0x10000的内存中是否存在E9 并且跳转地址是否在自身模块中

并且次数大于100次 则发送到Be服务


4. 调用NtQueryInformationProcess查询进程信息 查询失败 再查询一次 并且看图吧...



[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2020-1-13 11:43 被淡然他徒弟编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (14)
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
2
1.发送到BE服务 并不等于百分百拉闸。
2.扫描特征内存 不针对类型为映射的内存
3.hook来达到渲染不是最好的方式(易语言大手子已经使用上了 不hook的方式)
4.总的来说外部 使用steam来渲染 要处理的检测 少于外部使用dx等需要覆盖游戏窗口来渲染的方式
5.待补充.....
2020-1-12 22:23
0
雪    币: 914
活跃值: (2768)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
3
目前来看,进腾讯不太可能,进山总的公司倒是很有希望
2020-1-13 09:27
1
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
4
万剑归宗 目前来看,进腾讯不太可能,进山总的公司倒是很有希望
我山总日入过百万,曾经在MFC里面深入不出,手写商业蓝屏驱动,也曾创造过一夜被辞的世界纪录,至今他的芳名仍流传于外挂界。此等神话,尔等只能远观而不可亵玩焉。Skr Skr
2020-1-13 11:42
0
雪    币: 6129
活跃值: (4971)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
你们的小破外挂配我BE Shellcode特征针对吗?
2020-1-14 16:22
0
雪    币: 12876
活跃值: (9342)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
6
讲个笑话:BE通过调用battleye_report来报告服务器battleye_report函数本身是否被修改
2020-1-14 18:07
1
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
7
hzqst 讲个笑话:BE通过调用battleye_report来报告服务器battleye_report函数本身是否被修改
我be不要脸的吗?
2020-1-15 05:00
1
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
8
黑洛 你们的小破外挂配我BE Shellcode特征针对吗?
对不起 我不配。(不是针对谁 在易语言大手子面前在座的各位都是辣鸡 )
2020-1-15 09:14
0
雪    币: 211
活跃值: (203)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
大佬们 别看了,看了你也不会,会了你也不做,做了你又不懂,懂了你也不会来看了!
2020-1-30 00:03
0
雪    币: 433
活跃值: (2130)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
爆搜就日NtQueryVirtualMemory  盯准了日
2020-1-30 01:49
0
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
11
萌克力 爆搜就日NtQueryVirtualMemory 盯准了日
不日也行  ida认真看看其实还有很多处理方式 这些过完还有各种内部外部截图要处理
2020-2-1 05:53
0
雪    币: 12876
活跃值: (9342)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
12
淡然他徒弟 不日也行 [em_13] ida认真看看其实还有很多处理方式 这些过完还有各种内部外部截图要处理
事实是BE根本木有截图
几十万在线用截图查作弊根本没意义

你说你去撸租号平台那还有点道理
最后于 2020-2-1 09:50 被hzqst编辑 ,原因:
2020-2-1 09:49
0
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
13
hzqst 淡然他徒弟 不日也行 [em_13] ida认真看看其实还有很多处理方式 这些过完还有各种内部外部截图要处理 事实是BE根本木有截图几十万在线用截图查作 ...
那他调用GetBitBlt 然后二值化上传是为了什么

而且他shellcode里面也会调用GetNtUserWindowDiplayAffinity

他还会调用SetWindowDisplayAffinity自己把自身的反截图关了

如果截图不存在 他做这些有什么意义呢?

另外截图不是一直在截图 人数杀多举报多了才会截图 现在截图频率很低。

另外截图应该是XE负责的吧...

其实无论他截图不截图 其实跟我都没啥关系 我不靠这个生活。

还有 大黄狗我爱你 我是你粉丝 可以给个好友位 吗
最后于 2020-2-1 11:25 被淡然他徒弟编辑 ,原因:
2020-2-1 11:12
0
雪    币: 222
活跃值: (185)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
14
别走!我要抱一个大表哥大腿!
2020-2-10 02:53
0
雪    币: 35
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
淡然他徒弟 hzqst 淡然他徒弟 不日也行 [em_13] ida认真看看其实还有很多处理方式 这些过完还有各种内部外部截图要 ...
此楼正解。XE会截图。而且会把自身的反截图取消掉。BE只会检测PUBG的窗口是否被反截图。如果被反截图则会弹出提示Disallow xxxxx
2020-2-10 04:01
0
游客
登录 | 注册 方可回帖
返回