KeyHanlde 回溯出完整的注册表键路径

本文介绍了在测试过程中遇到的蓝屏问题,以及如何通过不同方法,如ZwQueryKey、PCM结构和ObQueryNameString,来获取注册表键的完整路径。重点讲述了利用ObQueryNameString从注册表结构指针中回溯完整注册表键路径的实现过程。
摘要由CSDN通过智能技术生成

今天测试这个很无奈的蓝了多次屏...才发现DDK用SEH并不是能解决一切的问题

 

查找资料,归类都几种方法

 

1.ZwQueryKey

这种方法并不能获得完整路径

 

2.PCM结构.可以..

 

3.获得注册表结构指针,然后ObQueryNameString

 

 

 

#pragma PAGEDCODE
NTSTATUS __stdcall HookNtSetValueKey(
            
            IN HANDLE               KeyHandle,
            IN PUNICODE_STRING      ValueName,
            IN ULONG                TitleIndex OPTIONAL,
            IN ULONG                Type,
            IN PVOID                Data,
            IN ULONG                DataSize )
{
 int i;
 UNICODE_STRING  oni;
 UNICODE_STRING  usName;
 ULONG ReturnLen=0;
 PVOID pKeyInfo;
 POBJECT_NAME_INFORMATION pOni;


 __try
 {
  
   if(STATUS_SUCCESS!=(ObReferenceObjectByHandle(KeyHandle,KEY_READ,NULL,KernelMode,&pKeyInfo,NULL)))
   {
    KdP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值