能力值:
( LV1,RANK:0 )
|
-
-
2 楼
所以 EXE 或者 DLL 该怎么脱掉 VMP 的壳? 不能用同一种方法吗?
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
没脱过,只说个思路: 1. 找OEP GsDriverEntry 就是OEP,一般在 INIT 节 2. oep处下断,windbg dump, .writemem 保存dump 3. 找 IAT内存区,跟普通 PE 一样。 4. 修复 IAT: 驱动导入的函数一般都在 ntoskrnl或者 hal,记住这两个模块的内存区间。写个脱壳程序,判断 IAT 的地址落在哪个导入模块,然后重建导入表。 如果vmp 加了导入表保护,IAT 里的地址就在本模块,那就 unicorn 模拟执行 IAT 所在地址,跑飞的内存就是 iat的真实地址(一般在 hal和ntoskrnl) 5. 重定位的修复: 想办法让驱动加载两次,且加载到不同地址,每次在 OEP 断下来并 dump。对两次 dump 内存做二进制比较,地址不同的位置就是重定位的地址,然后重建重定位表。(如果只想想看看代码逻辑,那就不用修复重定位)。
最后,如果壳代码有反调试之类,得自己能绕过在 OEP 处能下断点。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
其实,加载后直接dump出来,还是能够看个大概的,要是再详细的,那就要对壳下功夫了。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
Genes
其实,加载后直接dump出来,还是能够看个大概的,要是再详细的,那就要对壳下功夫了。
可以加个好友?看私信
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
ttaggg
没脱过,只说个思路:
1. 找OEP
GsDriverEntry 就是OEP,一般在 INIT 节
2. oep处下断,windbg dump, .writemem 保存dump
3. 找 I ...
工具人流程了,哈哈,本来我想说的
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
最后结果呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
franc
最后结果呢?
人家都没理会我,没结果!
|
|
|