首页
社区
课程
招聘
[讨论]rookit hook专题中SysEnterHook的问题
发表于: 2009-2-7 18:05 4502

[讨论]rookit hook专题中SysEnterHook的问题

2009-2-7 18:05
4502
我按照原来的编译加载,发现蓝了

然后调试了下

发现问题了

mov eax, MyKiFastCallEntry  这句被翻译为 mv eax,dword ptr [MyKiFastCallEntry]

应该修改为 mov eax,offset MyKiFastCallEntry

大家是不是遇到一样的问题

#include "ntddk.h"

ULONG d_origKiFastCallEntry; // Original value of ntoskrnl!KiFastCallEntry

VOID OnUnload( IN PDRIVER_OBJECT DriverObject )
{
          _asm
          {
              mov ecx, 0x176
                    xor edx,edx
                    mov eax, d_origKiFastCallEntry     // Hook function address
                    wrmsr                             // Write to the IA32_SYSENTER_EIP register
            }
}

// Hook function
__declspec(naked) MyKiFastCallEntry()
{
        __asm {
                jmp [d_origKiFastCallEntry]
        }
}

NTSTATUS DriverEntry( IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryPath )
{
        theDriverObject->DriverUnload  = OnUnload;

        __asm {
        mov ecx, 0x176
                    rdmsr                          // read the value of the IA32_SYSENTER_EIP register
                    mov d_origKiFastCallEntry, eax
                    mov eax, MyKiFastCallEntry     // Hook function address
                    wrmsr                          // Write to the IA32_SYSENTER_EIP register
        }

        return STATUS_SUCCESS;
}

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
lea eax,xxxxxx
2009-2-7 18:52
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
原来没有这指令

只是问问,是我VC6.0编译的问题

还是原来代码问题
2009-2-7 19:24
0
游客
登录 | 注册 方可回帖
返回
//