首页
社区
课程
招聘
[已解决]NtUserCallOneParam函数挂钩问题
发表于: 2010-1-15 03:29 7889

[已解决]NtUserCallOneParam函数挂钩问题

2010-1-15 03:29
7889
CCOUNTED_UNICODE_STRING        "KeAttachProcess", uniFuncName, 4
       
invoke MmGetSystemRoutineAddress, addr uniFuncName
       
mov pKeAttachProcess,eax

请高人赐教,这3行可否获得KeAttachProcess 的地址 ?

还有下面这段代码 ,帮忙分析下有些地方我不懂



ULONG GetShadowTableAddress()
{
ULONG dwordatbyte,i;
PUCHAR p = (PUCHAR) KeAddSystemServiceTable;
for(i = 0; i < PAGE_SIZE; i++, p++)// 往下找一页 指针递增1
{
__try
{
dwordatbyte = *(PULONG)p;
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
return FALSE;
}
if(MmIsAddressValid((PVOID)dwordatbyte))
{
if(memcmp((PVOID)dwordatbyte, KeServiceDescriptorTable, 16) == 0)//对比前16字节 相同则找到
{
if((PVOID)dwordatbyte == KeServiceDescriptorTable)//排除自己
{
continue;
}
return dwordatbyte;
}
}
}
return FALSE;
}

ULONG GetSSDTCurAddr(IN ULONG Index,BOOL IsShadow)
{
ULONG ServiceCount,BaseAddr;

if (KeServiceDescriptorTableShadow!=NULL)
{
ServiceCount=KeServiceDescriptorTableShadow[IsShadow?1:0].NumberOfServices;
BaseAddr = (ULONG)KeServiceDescriptorTableShadow[IsShadow?1:0].ServiceTableBase;

if (Index>=ServiceCount) return FALSE;

return *(PULONG)(BaseAddr+Index * 4);
}
return FALSE;
}

//......

//调用
//处理SSDT/SSSDT函数

NtUserShowWindow=(PVOID)GetSSDTCurAddr(NtUserShowWindow_Index,TRUE);




其中 __try 和__except(EXCEPTION_EXECUTE_HANDLER)  这2句代码什么意思?用汇编怎么表示?
       
               
       

小弟刚弄驱动,大侠们见笑了

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
__try 和__except(EXCEPTION_EXECUTE_HANDLER)

这是windows的一个结构化异常处理。

话说。这玩意在内核驱动编程中效果不是很理想。

该蓝屏还蓝屏。。所以你不写的话也可以。

最核心的还是你要对自己准备访问的地址。多多检查。确保有效。
2010-1-15 09:15
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
dbgview自己看是否找到地址。

try就是seh,在内核中有用。但作用不大,我的理解。我是菜鸟,恩。
用汇编怎么表示? 都用asm了,直接调试到不蓝。根本不用写try(如果是小程序)
2010-1-15 09:52
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
4
额,谢谢大家,明白了
2010-1-15 15:10
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
我晕~~~~~~~
2010-1-15 17:59
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
6
晕什么啊,你不说我怎么知道?
2010-1-16 06:30
0
游客
登录 | 注册 方可回帖
返回
//