-
-
[原创]对BEShellCode扫描steam劫持渲染的小分析
-
发表于:
2020-1-12 22:13
8224
-
[原创]对BEShellCode扫描steam劫持渲染的小分析
主题:对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
被淡然他徒弟编辑
,原因: