能力值:
( LV12,RANK:1010 )
|
-
-
2 楼
有
|
能力值:
(RANK:1130 )
|
-
-
3 楼
|
能力值:
( LV9,RANK:210 )
|
-
-
4 楼
偶想学 偶想学
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
交学费
|
能力值:
( LV9,RANK:210 )
|
-
-
6 楼
国家政策 义务教育特殊困难户可免学杂费
|
能力值:
( LV12,RANK:600 )
|
-
-
7 楼
跟SSDT一样....
|
能力值:
( LV9,RANK:210 )
|
-
-
8 楼
SSDT 的 函数是有导出的
shadow 是没有吧
因为 用vatoRAW 一用就bsod了
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
搜zhuwg的帖子。。。
|
能力值:
( LV12,RANK:600 )
|
-
-
10 楼
原理是一样的...只是多个找KeServiceDescriptorTableShadow
摘了段 yas kit 驱动的代码
/*-----------------------------------------------------------*/
//目前XP和2K3都可以,但不排除其他版本也是这样
//NumberOfservice :用于返回服务数目
//返回值: ShadowTableBaseAddress
/*------------------------------------------------------------*/
ULONG GetShadowTableBaseAddress(IN OUT ULONG* NumberOfservice)
{
/*
lkd> u
nt!KeAddSystemServiceTable+0x18:
805a10a2 7551 jne nt!KeAddSystemServiceTable+0x6b (805a10f5)
805a10a4 8d88a0c65580 lea ecx,nt!KeServiceDescriptorTableShadow (8055c6a0)[eax] ---->>>
*/
BYTE* FunctionAddress;
BYTE* CurrentAddress;
ULONG tempAddr,TableShadowAddress = 0;
FunctionAddress=(BYTE*)KeAddSystemServiceTable;
for(CurrentAddress=FunctionAddress;CurrentAddress<FunctionAddress+0x100; CurrentAddress++)
{
if(MmIsAddressValid((BYTE*)CurrentAddress))
if(*(BYTE*)CurrentAddress==0x8d&&*(BYTE*)(CurrentAddress+1)==0x88)
{
tempAddr = *(ULONG*)(CurrentAddress+2);
TableShadowAddress = ((ULONG*)tempAddr)[4];
*NumberOfservice = ((ULONG*)tempAddr)[6];
break;
}
}
return TableShadowAddress;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
bujin888,我能否加下你的QQ.可以吗?我的QQ:87262886
|
能力值:
( LV9,RANK:210 )
|
-
-
12 楼
感谢10楼 但是这个方法偶知道,这个方法无法获取已经被HOOK的函数的原始地址
这个是指向当前的SHADOW TABLE 而不是没改动前的
|
能力值:
( LV12,RANK:600 )
|
-
-
13 楼
汗...你不懂我的意思..有这个地址就可以计算读磁盘文件获取原始地址了....
|
能力值:
( LV8,RANK:130 )
|
-
-
14 楼
读文件就可以了
|
能力值:
( LV12,RANK:470 )
|
-
-
15 楼
请先读读偶的破文章好不好啊。
偶感觉你完全不会的说。。似乎你没明白table怎么运作的
似乎你根本就是简单的套用别人的代码。。而不去自己理解
原理很简单。。得到了内存中的地址。然后去读文件比较呗
如果你不懂 先补补内核基础知识吧
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
要学会举一反三,网上没有现成的代码,让你用。
|
能力值:
( LV12,RANK:1010 )
|
-
-
17 楼
顶 猪乌龟同学
|
能力值:
( LV9,RANK:210 )
|
-
-
18 楼
偶的确在10天前刚接触驱动这个东西,人又笨 入门还没有
|
能力值:
( LV9,RANK:210 )
|
-
-
19 楼
"得到了内存中的地址。然后去读文件比较呗" 这个我会 没想到这点 太苯了 已经解决问题 结贴
|
能力值:
( LV4,RANK:50 )
|
-
-
20 楼
说明你的文章写的不够好,即使读者是一个完全不懂的人,你也应该写的让其完全能懂,所以写的再详细点吧,嘿嘿.....
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
20 2008-12-29, 10:53
--------------------------------------------------------------------------------
说明你的文章写的不够好,即使读者是一个完全不懂的人,你也应该写的让其完全能懂,所以写的再详细点吧,嘿嘿.....
这才是大学家,那一天你写的东东像你说的那样,.....
|
能力值:
( LV12,RANK:210 )
|
-
-
22 楼
跟SSDT一摸一样
|
能力值:
( LV9,RANK:200 )
|
-
-
23 楼
这种方法不错
|
|
|