首页
社区
课程
招聘
[求助]IDT HOOK问题求助
发表于: 2011-4-22 22:37 3129

[求助]IDT HOOK问题求助

2011-4-22 22:37
3129
__declspec(naked) void My_NtOpenProcess()
{

//        DbgPrint("进来了");

        __asm{
                        push 0xc4
                        jmp NtOpenProcess+5
                }
       
}

__declspec(naked) void My_IDT()
{

        __asm
        {
                push eax
                mov eax,dr6
                test eax,1
                jz system
        }
/*        __asm
        {
                mov eax,dr7
                and eax,0xfffffffe
                mov dr7,eax
        }
*/
        __asm
        {
                push eax
                lea eax,[esp+4]
                mov Address,eax
                mov eax,My_NtOpenProcess
                mov [esp+4],eax
                mov eax,[esp+4]
                mov Address,eax
                pop eax
                               
        }

                DbgPrint("%X",Address);

       
               
        __asm iretd

system:
        DbgPrint("走这了?");
        __asm
        {       
        pop eax
       
        jmp Old_IDT_Address
        }
}

在中断发生时,CPU会见EFLAGE、CS和EIP分别压入堆栈,进入中断处理程序时栈顶结构如下所示:

|----|
|   EIP  |  esp
|----|
|   CS   |  esp+4
|----|
| EFLAGS |  esp+8
|----|

他为什么不走 我的函数啊 EIP 返回地址对的  完了不去返回 还打印地址

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
http://bbs.pediy.com/showthread.php?t=132418    传送门
2011-4-23 13:38
0
游客
登录 | 注册 方可回帖
返回
//