首页
社区
课程
招聘
[求助]怎样修改调试相关函数的DebugPort偏移?
发表于: 2014-9-16 16:54 4536

[求助]怎样修改调试相关函数的DebugPort偏移?

2014-9-16 16:54
4536
为了过DebugPort清零,修改所有调试相关函数的DebugPort偏移量。
在虚拟机中测试都已经成功转移,OD正常调试没问题,极少蓝屏。
但在物理主机上一加载驱动就蓝屏!
查看是由DbgkpQueueMessage这个函数引起的,别的函数修改后都没问题,就它修改后出问题!

求大神指教具体原因及应对办法!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 67
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没一个愿意指教吗?
2014-9-20 02:58
0
雪    币: 30
活跃值: (249)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看不到代码怎么知道是怎么引起的
2014-9-20 09:57
0
雪    币: 67
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
if(RtlCompareMemory(OriginalOffset_DbgkpQueueMessage, (PVOID)Address_DbgkpQueueMessage, 7) == 7)  //比较7个字节
                {
                        KdPrint(("DbgkpQueueMessage调试端口地址:0x%p\n", Address_DbgkpQueueMessage));

                        KdPrint(("DbgkpQueueMessage调试端口原始值:0x%X\n", *(ULONG *)Address_DbgkpQueueMessage));

                        DisableMemoryProtect();

                        RtlCopyMemory((PVOID)Address_DbgkpQueueMessage, OtherOffset_DbgkpQueueMessage, 7);  //开始修改

                        EnableMemoryProtect();

                        KdPrint(("DbgkpQueueMessage调试端口修改值:0x%X\n", *(ULONG *)Address_DbgkpQueueMessage));
                }
2014-9-20 20:01
0
游客
登录 | 注册 方可回帖
返回
//