能力值:
( LV9,RANK:610 )
|
-
-
26 楼
这些特征来自于内核中对KeServiceDescriptorTable初始化时的指令的机器码,你也可以自己对内核中这部分代码进行反汇编来寻找特征码,这跟从PsLookupProcessByProcessId的反汇编代码中查找PspCidTable是一样的道理。关于特征码本身我就不多说了,杀毒软件的病毒库识别也是特征码技术,都是匹配嘛
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
多谢achillis的解释
|
能力值:
(RANK:1290 )
|
-
-
28 楼
marking.....
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
achillis 我反汇编了KiInitSystem函数,但没找到那些特征码,难道不是这个函数?
|
能力值:
( LV9,RANK:610 )
|
-
-
30 楼
是我搞错了,没看仔细,当成了另一处对KiServiceTable操作时的机器码匹配.
你问的那个地方是从ntdll中找Zw*函数时,对Zw*函数的特征进行匹配.
例如:ZwCreateFile反汇编代码为:
7C92D682 B8 25000000 mov eax,25
7C92D687 BA 0003FE7F mov edx,7FFE0300
7C92D68C FF12 call dword ptr ds:[edx]
7C92D68E C2 2C00 retn 2C
这回明白了吧?很抱歉之前说错了~~
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
哈哈,终于明白了,真是太感谢achillis 了
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
不好意思achillis,再问个问题
为什么我在windbg中u ZwCreateFile的结果是
lkd> u ZwCreateFile
nt!ZwCreateFile:
804dd9a0 b825000000 mov eax,25h
804dd9a5 8d542404 lea edx,[esp+4]
804dd9a9 9c pushfd
804dd9aa 6a08 push 8
804dd9ac e8801c0000 call nt!KiSystemService (804df631)
804dd9b1 c22c00 ret 2Ch
我的操作系统是XPsp2,windbg的版本为6.11.0001.404 X86
|
能力值:
( LV13,RANK:330 )
|
-
-
33 楼
学习,在学习
|
能力值:
( LV9,RANK:610 )
|
-
-
34 楼
那个是ntdll中的ZwCreateFile,而不是ntoskrnl中的ZwCreateFile,它们是不一样的
|
能力值:
( LV2,RANK:10 )
|
-
-
35 楼
再次感谢achillis,
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
还想问一句,achillis你用的反汇编工具是什么,看上去很板杂嘛。还能从机器码中区分操作码和操作数
|
能力值:
( LV9,RANK:610 )
|
-
-
37 楼
Ollydbg
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
测试了一下。没有跑起来。。。
不知道什么原因。
报错为:Fail to map physical memory view of length 2000 tat 80000000!
哪位大侠能解释下原因么???
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
先看看,学习学习
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
留个名学习吧...还没看代码..
|
能力值:
( LV2,RANK:140 )
|
-
-
41 楼
貌似和M$的风格不太一样一
|
|
|