美文网首页
HOOK SSDT(inline hook)

HOOK SSDT(inline hook)

作者: 游戏逆向 | 来源:发表于2020-09-04 21:58 被阅读0次

    HOOK SSDT(inline hook)主要代码:

    /*
     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *                                                                                 *                                                                                *
     * 更多游戏逆向视频www.yxfzedu.com                                                 *
     *                                                                                 *
     * 有任何问题请发邮件至service@yxfzedu.com                                         *
     *                                                                                 *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     */
    ULONG g_NtopenkeyAddr;
    ULONG g_jmp_addr;
    UCHAR g_original_code[5];
    __declspec(naked) VOID NewNtOpenKey() {
        __asm {
            //pop eax;
            //add esp, 4;
            mov edi, edi;
            push ebp
            mov ebp, esp;
    
            jmp g_jmp_addr;
        }
    }
    
    VOID HookNtOpenKey() {
        g_NtopenkeyAddr = KeServiceDescriptorTable.ServiceTableBase[182];
        g_jmp_addr = g_NtopenkeyAddr + 5;
        UCHAR code[5];
        ULONG jmp_target;
        jmp_target = (ULONG)NewNtOpenKey - g_NtopenkeyAddr - 5;
        code[0] = 0xe9;
        *(ULONG*)&code[1] = jmp_target;
    
        PageProtectOFF();
        //g_NtopenkeyAddr = code;
        RtlCopyMemory(g_original_code, (PVOID)g_NtopenkeyAddr, 5);
        RtlCopyMemory((PVOID)g_NtopenkeyAddr, code,5); 
        PageProtectOn();
    
    }
    VOID UnHookNtOpenKey() {
        PageProtectOFF();
        //g_NtopenkeyAddr = code;
        RtlCopyMemory((PVOID)g_NtopenkeyAddr, g_original_code, 5);
        PageProtectOn();
    }
    

    更多游戏逆向视频www.yxfzedu.com

    相关文章

      网友评论

          本文标题:HOOK SSDT(inline hook)

          本文链接:https://www.haomeiwen.com/subject/kxitektx.html