能力值:
( LV9,RANK:270 )
|
-
-
26 楼
cat喵
谢谢,说的好详细。想问下vCALL在3.x版本下不止一个,但是一直没明白为啥这个检测基本上检测函数的调用在一个地方就能过,我是把所有的保护都有勾选的?
你这个样本是有点特殊: API调用总是在这个vCall上;通常不应该“固定”在某个vCall上。
我在“ 一个反调试有特色的CrackMe”里提到看过的两个VMP3的样本v301和v309,外壳部分(vmp1)都各有11个vCall,按入口地址依次标记为vCall1~vCallB。 从壳的入口到第一个vGetHash(v301是一个GetHash函数)之间,所有vCall的记录都为12次,但不是总在同一个vCall上:
v301样本
1) vCall6 kernel32.LocalAlloc ; size 0xA4; for anti data!
2) vCallA kernel32.GetCurrentProcess
3) vCall5 kernel32.IsDebuggerPresent
4) vCallB kernel32.CheckRemoteDebuggerPresent
5) vCall2 ntdll.ZwQueryInformationProcess ; ProcessDebugPort
6) vCall8 kernel32.GetCurrentThread
7) vCallB ntdll.ZwSetInformationThread
8) vCall4 ntdll.ZwQuerySystemInformation ; SystemDebuggerInfo
9) vCall5 ntdll.ZwQuerySystemInformation ; SystemModuleInfo, get buffer size
10) vCall8 kernel32.LocalAlloc ; alloc buf
11) vCall4 ntdll.ZwQuerySystemInformation ; SystemModuleInfo, query
12) vCall2 kernel32.LocalFree ; free buf v309样本
1) vCall1 kernel32.LocalAlloc ; size 0xA4; for anti data!
2) vCall3 kernel32.GetCurrentProcess
3) vCall4 kernel32.IsDebuggerPresent
4) vCall7 kernel32.CheckRemoteDebuggerPresent
5) vCall4 ntdll.ZwQueryInformationProcess ; ProcessDebugPort
6) vCall4 kernel32.GetCurrentThread
7) vCall7 ntdll.ZwSetInformationThread
8) vCall8 ntdll.ZwQuerySystemInformation ; SystemDebuggerInfo
9) vCall7 ntdll.ZwQuerySystemInformation ; SystemModuleInfo, get buffer size
10) vCall1 kernel32.LocalAlloc ; alloc buf
11) vCall6 ntdll.ZwQuerySystemInformation ; SystemModuleInfo, query
12) vCallA kernel32.LocalFree ; free buf
这两个样本在vmp0段解密后,它的vCall都各多达110个!即壳代码部分VM的handler数要远远少于用户代码保护部分VM的handler。 我对VMP3研究得还不多,也许您可以把样本放上来大家看看。
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
强,收藏学习了。
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
收藏学习了。
|
能力值:
( LV2,RANK:15 )
|
-
-
29 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
厉害了,收下谢谢分享
|
能力值:
( LV2,RANK:15 )
|
-
-
31 楼
好,正需要,学习中,谢谢分享
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
谢谢楼主分享。
|
能力值:
( LV2,RANK:10 )
|
-
-
33 楼
MistHill
Call R32 在vCall里。
VMP3的vCall与VMP2有很大不同,VMP2的vCall只能调用虚拟子程序/函数,VMP3的vCall可以直接调用API,比较方便。感觉VMP3的vCall ...
感谢mist
|
能力值:
( LV2,RANK:10 )
|
-
-
34 楼
新版本3.2改进了反调试
|
能力值:
( LV2,RANK:15 )
|
-
-
35 楼
很详细,谢谢
|
能力值:
( LV4,RANK:50 )
|
-
-
36 楼
感觉挺适合新手的,讲的比较浅显易懂,谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
蹲个未来大佬
|
能力值:
( LV7,RANK:100 )
|
-
-
38 楼
mark
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
不错,学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
之前debug的程序都没有anti-debugger,刺客信条枭雄上了vmp,学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
收藏学习了 谢谢分享
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
感谢分享学习经验
|
能力值:
( LV2,RANK:10 )
|
-
-
43 楼
谢谢分享~~
|
|
|