首页
社区
课程
招聘
[旧帖] [求助]谁能看看,我IDTHOOK还原那里出问题了啊 0.00雪花
发表于: 2016-4-15 10:19 2032

[旧帖] [求助]谁能看看,我IDTHOOK还原那里出问题了啊 0.00雪花

2016-4-15 10:19
2032
代码如下
ULONG OldTrap01=0x804e04db; //这个是我本地机器原来的中断0E的地址,我是直接把用这个地址,替换掉,程序被HOOK的地址,还原的,还原后,电脑就死机了,我自己HOOK然后自己恢复,就没问题,别的程序HOOK的,我恢复了,就死机,第一次HOOK,谁能帮我看看啊,弄了,几天了,没想明白为什么呢,求大神解答

NTSTATUS NTAPI UnHookIDT(UINT nIdtNum,PVOID SaveFunction)
{
        KAFFINITY processors;
        PKTHREAD thread;
        LONG        i;
        IDTINFO                    idt_info;
        IDTENTRY*            idt_entries;
        ULONG_PTR NewTrap = 0;
        UNICODE_STRING ustrKeSetAffinityThread;
        _KeSetAffinityThread KeSetAffinityThread;
        processors = KeQueryActiveProcessors();
          DbgPrint("processors=%x\n",processors);
        thread     = KeGetCurrentThread();
          DbgPrint("thread=%x\n",thread);
        NewTrap = (ULONG_PTR)SaveFunction;
        RtlInitUnicodeString(&ustrKeSetAffinityThread, L"KeSetAffinityThread");
        KeSetAffinityThread = (_KeSetAffinityThread)MmGetSystemRoutineAddress(&ustrKeSetAffinityThread);
        for(i = 0; i < 32; i++)
        {
                KAFFINITY curProc = processors & (1 << i);
                if(curProc != 0)
                {
                        KeSetAffinityThread(thread, curProc);
                        __asm sidt idt_info
                                idt_entries = (IDTENTRY*) MAKELONG(idt_info.LowIDTbase,idt_info.HiIDTbase);
                        //////////////////////////////////////////////////////////////////////////
                        //__asm nop;
                        //__asm nop;
                        //__asm nop;
                        __asm cli;
                        if (nIdtNum==0x01)

                        {

                                idt_entries[nIdtNum].LowOffset = (USHORT)OldTrap01;
                                idt_entries[nIdtNum].HiOffset = (USHORT)((ULONG)OldTrap01 >> 16);
                        }
                        else
                        {

                                idt_entries[nIdtNum].LowOffset = (USHORT)OldTrap0e;
                                idt_entries[nIdtNum].HiOffset = (USHORT)((ULONG)OldTrap0e >> 16);
                        }
;
                        __asm sti;
                        //////////////////////////////////////////////////////////////////////////
                }
        }
        KeSetAffinityThread(thread, processors);
        return STATUS_SUCCESS;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
额,有大神么,指点下吧,可能是那里出问题 了呢,
2016-4-15 18:25
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
XP系统下,腾讯的游戏没有图标了,我用PC工具看了下,他HOOK了,0E和01号中断,我恢复就蓝屏,谁有这方面的经验啊,
2016-4-15 18:35
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
腾讯有保护机制么?
2016-4-19 15:49
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
刚才不能回帖了,发一个测试一下
2016-4-19 16:49
0
游客
登录 | 注册 方可回帖
返回
//