首页
社区
课程
招聘
[原创]逆向分析某VT加持的无畏契约纯内核挂
发表于: 2024-4-2 05:54 29964

[原创]逆向分析某VT加持的无畏契约纯内核挂

R0g 活跃值
2
2024-4-2 05:54
29964

最近玩JD上头但是被各路挂壁打的头大,偶然看到隔壁群友发的村瓦挂壁赛直播,起了逆下看看的念头。
0dde5ba6e2f259f21f2857d49fed7e08.png
f7fb8e1673523456d3d9718ef7d88aaa.png
24e096b4765ddd087df0581a600992fb.png
遂顺着网线一路找到了发卡网,拿到了本次逆向的主角。
c6abca2666fe947476de219972dae3fc.png
587238faa7fe53e88d88a9e749fdd291.png
貌似不简单阿,不过“易语言程序”这几个字了怎么没了???
3328973437f2ae292c6c33c034dcc9b6.png

38d5ac9d0d301bbac50729fd63629d8a.png
经典E语言程序配VMP,想必代码肯定是运行时解密的,直接运行dump拖IDA一条龙。
dca9400ac19800c8fb8aee429833671b.png
这里推荐一下fjqisba老哥的E-Decompiler,运行插件之后看到了熟悉的易语言函数。

直接搜下4D 5A 90能看到有两个结果:
b6177338c8d371aa697db0308d18636a.png

据我所知易语言开发通常会把PE文件当作图片资源存放在易语言资源里面,而资源的数据区上面的DWORD就是数据大小。
51dc46521eb46eba8deb71ac4a98cec6.png

按这个规律可以直接dump出两个PE文件:
28814f661dead32a9d9aabb257bb6329.png
d613101df47c76da7a45ea0baedf1d5e.png
可以看到存在易语言资源中的两个PE文件都是驱动程序,想必这就是包含作弊功能的驱动了,按顺序先分析第一个位于0x004C09A8位置的程序。
5b2b207d721b586ea56e927b9c993747.png

标准的WDF驱动,直接跟进DriverInit里面:
a4859db128c22f0eff168dd31ae41f89.png
c30ac50d1ec205acce79aa0069916106.png
74820aa8dd3ec679c9afeac14ce34182.png
感谢皮总和养猪哥提供的KDDEBUGGER_DATA_OFFSET。
很经典的自删除、清空PiDDBlock、PiDDBCacheTable以及KernelHashBucketList用来隐藏驱动加载过的痕迹,不敢说跟kdmapper一模一样,只能说有个八分像。
还有一些像系统版本、PteBase等等的初始化操作,同时可以看出驱动是走的IoControl与用户层通讯,符号链接是TpSafe。
下面进IoControl的派遣函数看看:
69e383c3ad386c5baf678ed55c553637.png
0285305108acd823222c399d270e7b17.png
用户层DeviceIoControl的Buffer中传递了一个用来被Map的驱动文件,通过用户层程序也可以看出这一结果。
786fd6f0298d46eb6ead7fec1b1492c3.png
MapDriverThreadProc里面无非一些拉伸PE、修复导入重定位的操作,内存是通过MmAllocateIndependentPages申请的;这里不再赘述,想看的朋友可以自己逆向看。
28caa05ab0266ab1d2135683bbea9a8c.png

76c6ae19f0189cefc972eb889ffa7f00.png
e176a1498e138e09ab7b22ab8e9706da.png
上来就是vmcall、vmresume,虚拟化技术驱动的歪瓜。。。太卷了。
705ff54f2890787211c19ffb1e01019f.png
DriverEntry直接进了VM,看来常规方法逆不动了。
357fbb3b7fe2798924953921362b9c63.png
字符串里有脏东西嗷,直接xref追一下
0679aee41dc3b1bb1d1d9c77347f89e6.png
他Hook了AXE-BASE.sys的某个函数(就是AXE自己的CreateHook),特征搜一下看看
0d85f941d000d947f3f32c211f79b0e4.png
07c8a12db14b7049fff37ac67de9472c.png
好家伙,它直接Hook了它的Hook;幸好之前分析过一部分BASE,今天正好派上用场。

再xref看下CreateEptHook的调用:
af6d717025e203b5bb2f02e35c7512d0.png

大致Hook了MmIsAddressValid、MouseClassServiceCallback、KiPreprocessFault、NtCreateSection、PspExitProcess、MmCopyMemory、RtlWalkFrameChain这几个内核函数。
bf4f224c6329617aaf24535d94ddba41.png

拦截MmIsAddressValid和MmCopyMemory实现隐藏内存,参数中的虚拟地址/物理地址包含驱动模块所在内存区域时返回失败。
a4dd650fa83af047e26812e10f447b9c.png

拦截RtlWalkFrameChain对抗栈回溯,当调用者回溯的堆栈中包含驱动模块所在内存区域时抹除堆栈信息。
0d76e4f58dc33f93e8b1437fe986f90b.png

拦截NtCreateSection并过滤特定文件,当文件句柄对应的文件名称为“APEX_Clothing_x64.dll”时调用者即为游戏进程,随即进行初始化。
7779ede014de6b89139b51577de83b16.png
初始化操作(ShadowBreakPoint即“无痕”软件断点):
2a4d31d1a206df9fa414aa0961b01bf5.png


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 58
支持
分享
最新回复 (62)
雪    币: 6229
活跃值: (4231)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
2
感谢大佬分享,
2024-4-2 08:12
0
雪    币: 931
活跃值: (1648)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
感谢大佬分享
2024-4-2 09:00
0
雪    币: 3070
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2024-4-2 09:20
1
雪    币: 254
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
感谢大佬分析,复现学习中
2024-4-2 09:31
0
雪    币: 6124
活跃值: (4656)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
上次见到这个样本不是瓦的,应该是同一个作者
2024-4-2 09:45
1
雪    币: 6095
活跃值: (5510)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
7
这是真大佬,只能默默的点个赞了!
2024-4-2 10:21
0
雪    币: 2373
活跃值: (1041)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
牛。b。
2024-4-2 10:43
0
雪    币: 1525
活跃值: (3422)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
牛逼plus
2024-4-2 11:07
0
雪    币: 36
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
牛逼
2024-4-2 11:22
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
感谢大佬分享,
2024-4-2 17:01
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感谢大佬分享,
2024-4-2 17:30
0
雪    币: 1229
活跃值: (1760)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
tql 感谢分享
2024-4-2 19:41
0
雪    币: 401
活跃值: (1125)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
tql
2024-4-2 20:18
0
雪    币: 2670
活跃值: (2048)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
真大佬,分分钟给解干净了
2024-4-3 00:37
0
雪    币: 446
活跃值: (618)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这hook干的还挺多
2024-4-3 02:04
0
雪    币: 73
活跃值: (923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
内容很干,就是吃的难受,哎,这功力,厉害了。
2024-4-3 09:35
0
雪    币: 136
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
真大佬,太厉害了
2024-4-4 15:20
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
大佬加个qq我工作室有些问题你接不接单我qq3055318808
2024-4-4 19:46
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
大佬加个QQ3055318808 接不接单
2024-4-4 19:47
0
雪    币: 254
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
好文章
2024-4-5 06:51
0
雪    币: 1264
活跃值: (1179)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
外挂写的很好,火速开抄
2024-4-6 22:47
0
雪    币: 0
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最后还是逃不过截图检测
2024-4-7 04:03
0
雪    币: 1282
活跃值: (4555)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
24
spacetimec 最后还是逃不过截图检测
截图确实无赖
2024-4-7 04:37
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
感谢大佬分享
2024-4-7 14:05
0
游客
登录 | 注册 方可回帖
返回
//