能力值:
( LV11,RANK:180 )
|
-
-
2 楼
我也正在学习 x64 驱动 , 也正在看vbasm的文章!
|
能力值:
( LV12,RANK:760 )
|
-
-
3 楼
Base[i]是一个LONG值,是有符号的。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
有参数的函数别忘了挂钩的时候要加入函数的参数个数 ~
这个没太理解啊
|
能力值:
( LV9,RANK:200 )
|
-
-
5 楼
参数 x64 结构中 Number 参数个数 微软弃用 ,ssdt 地址的低4位 是参数个数, 你hook 的时候要从原始地址获取添加进去
|
能力值:
( LV9,RANK:200 )
|
-
-
6 楼
[QUOTE=cvcvxk;1332405]Base[i]是一个LONG值,是有符号的。[/QUOTE]
这个我也不知道,结构我抄 WRK的
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
抄WRK ,ULONG Limit; // 服务表大小 这儿对么?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
弃用的好吧,那就是不用管的
|
能力值:
( LV9,RANK:200 )
|
-
-
9 楼
嗯 不知道那次 改改就忘了,反正也没啥影响
|
能力值:
( LV12,RANK:760 )
|
-
-
10 楼
以IDA的汇编为准:
.text:0000000140074CB2 KiSystemServiceRepeat proc near ; CODE XREF: KiSystemServiceExit+1E0j
.text:0000000140074CB2 lea r10, KeServiceDescriptorTable
.text:0000000140074CB9 lea r11, KeServiceDescriptorTableShadow
.text:0000000140074CC0 test dword ptr [rbx+100h], 80h
.text:0000000140074CCA cmovnz r10, r11
.text:0000000140074CCE cmp eax, [rdi+r10+10h]
.text:0000000140074CD3 jnb loc_140074FC2
.text:0000000140074CD9 mov r10, [rdi+r10]
.text:0000000140074CDD movsxd r11, dword ptr [r10+rax*4] //取出有符号LONG32值,然后扩展符号变成64位LONG64
.text:0000000140074CE1 mov rax, r11
.text:0000000140074CE4 sar r11, 4
.text:0000000140074CE8 add r10, r11
.text:0000000140074CEB cmp edi, 20h
.text:0000000140074CEE jnz short loc_140074D40
.text:0000000140074CF0 mov r11, [rbx+0B8h]
.text:0000000140074CF0 KiSystemServiceRepeat endp ; sp-analysis failed
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢!正在学习这个!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
浅谈个毛毛..
|
能力值:
( LV9,RANK:200 )
|
-
-
13 楼
确实成了毛毛
|
|
|