首页
社区
课程
招聘
[求助]2k下修改只读内存释放pages蓝屏
2009-1-14 11:27 3971

[求助]2k下修改只读内存释放pages蓝屏

2009-1-14 11:27
3971
我在2k下进行Shadow SSDT Hook
代码大致如下
.............
g_pMdlSystemCall = IoAllocateMdl(
                        KeServiceDescriptorTableShadow->win32k.ServiceTable,
                        KeServiceDescriptorTableShadow->win32k.ServiceLimit*4,
                        FALSE, //not associated with an IRP
                        FALSE, //charge quota, should be FALSE
                        NULL); //IRP * should be NULL
                if(!g_pMdlSystemCall)
                        return STATUS_UNSUCCESSFUL;
               
                MmBuildMdlForNonPagedPool(g_pMdlSystemCall);
                //g_pMdlSystemCall->MdlFlags = g_pMdlSystemCall->MdlFlags|MDL_MAPPED_TO_SYSTEM_VA;
                MmProbeAndLockPages(g_pMdlSystemCall, KernelMode, IoModifyAccess);
                MappedSystemCallTable = MmMapLockedPages(g_pMdlSystemCall, KernelMode);
               
                if( ( KeServiceDescriptorTableShadow != NULL && NULL != OrgNtGdiBitBlt))
                {
                        //hook shadow system calls and save old system call locations
                        UNHOOK_SYSCALL( NtGdiBitBltIndex,        OrgNtGdiBitBlt,        HookNtGdiBitBlt        );                                                                                                                                                                                                                                                                                                                                                                                                           
                }
                else{
                        KeServiceDescriptorTableShadow = NULL;
                }
                MmUnmapLockedPages(MappedSystemCallTable, g_pMdlSystemCall);
                MmUnlockPages(g_pMdlSystemCall);
                IoFreeMdl(g_pMdlSystemCall);
......
这段代码在xp下运行正常,但是在2k下面运行之后Shadow SSDT所在的内存被解除影射了,导致所在的进程访问无效内存--蓝屏
如果去掉MmUnmapLockedPages  MmUnlockPages就是正常的

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回