首页
社区
课程
招聘
[原创]WIN764自定义硬断
发表于: 2016-5-23 17:37 5436

[原创]WIN764自定义硬断

2016-5-23 17:37
5436
我只是 截了 我代码中的 关键片段~至于 详细的 你们自己想
控制是否 恢复DR的是 DR7和dbgactive这两个  或者patch相关字节~

VOID T_KiRestoreDebugRegisterState(){

        PEPROCESS Process=NULL;
        PETHREAD Thread=NULL;
        PPROCESS_List PlIST = NULL;;
        PTHREAD_dr_List TList = NULL;
        ULONG64 UDR = NULL;
        PLARGE_INTEGER PDR = &UDR;
        
        Thread = PsGetCurrentThread();
        if (Thread!=NULL)
        {
                Process = IoThreadToProcess(Thread);

                if (Process != NULL){

                        PlIST = Dr_FindProcessList(Process);
                        if (PlIST != NULL)
                        {

                                TList = Dr_FindThreadContextByThreadList(PlIST, Thread);
                                if (TList != NULL)
                                {
                                        PDR->LowPart = TList->Dr0;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(0, UDR);
                                         
                                        PDR->LowPart = TList->Dr1;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(1, UDR);
                                         
                                        PDR->LowPart = TList->Dr2;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(2, UDR);

                                        PDR->LowPart = TList->Dr3;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(3, UDR);

                                        PDR->LowPart = TList->Dr6;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(6, UDR);

                                        PDR->LowPart = TList->Dr7;
                                        PDR->HighPart = 0x00000000;
                                        __writedr(7, UDR);
                                }

                        }

                                }

        }

        
        return 0;
}

if (contex->Dr7 != NULL)
                                {
                                        *(UCHAR*)(Thread + 0x3) = 0x40;

                                }

                                mycontex.Dr0 = contex->Dr0;
                                mycontex.Dr1 = contex->Dr1;
                                mycontex.Dr2 = contex->Dr2;
                                mycontex.Dr3 = contex->Dr3;
                                mycontex.Dr6 = contex->Dr6;
                                mycontex.Dr7 = contex->Dr7;
                                mycontex.EFlags = contex->EFlags;
                                contex->Dr0 = ((PLARGE_INTEGER)(&pframe->Dr0))->LowPart;
                                contex->Dr1 = ((PLARGE_INTEGER)(&pframe->Dr1))->LowPart;
                                contex->Dr2 = ((PLARGE_INTEGER)(&pframe->Dr2))->LowPart;
                                contex->Dr3 = ((PLARGE_INTEGER)(&pframe->Dr3))->LowPart;
                                contex->Dr6 = ((PLARGE_INTEGER)(&pframe->Dr6))->LowPart;
                        //        contex->Dr7 = ((PLARGE_INTEGER)(&pframe->Dr7))->LowPart;
                        //        contex->EFlags = pframe->EFlags;

博客嘎嘎:http://blog.csdn.net/qq_18942885
实现 内核切用户层恢复DR

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
学习一下~~~~~
2016-5-23 21:09
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
直接注册个veh
2016-5-24 00:44
0
雪    币: 135
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
为了开发逆向时间成本来考虑 , 首选硬件调试器 , 免除一切软烦恼 , 什么P保护都是渣渣, 在来个外接人工智能模拟器,不再会怀疑人生了!!!
2016-5-24 01:13
0
雪    币: 608
活跃值: (648)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
什么硬件调试器? 别告我是Arium XDP,这东西一般人玩不起
2016-5-24 03:16
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
6
Arium XDP是很吊,然而...老板不给买~
2016-5-24 17:20
0
游客
登录 | 注册 方可回帖
返回
//