tangptr@126.com 发表于 2015-8-31 16:13:08

号外号外:据说Hook MmFlushImageSection函数可以过冰刃的文件强删!

本帖最后由 tangptr@126.com 于 2015-8-31 16:14 编辑

这只是据说,我测试的时候蓝屏了。。。
在删除文件的过程中要调用MmFlushImageSection判定文件在运行时是否已经释放,若没有释放,返回FALSE,若已释放,返回TRUE。如果判断文件没有被释放则删不掉。因此很多粉碎机工具会Hook这个函数,使之返回TRUE。
贴代码喽~(挂钩过程不贴了,我之前贴了太多的挂钩引擎的代码了)
BOOLEAN NTAPIfake_MmFlushImageSection(IN PSECTION_OBJECT_POINTERS SectionObjectPointer,IN MMFLUSH_TYPE FlushType)
{
        PFILE_OBJECT pfile;
        WCHAR *pwsz=NULL;
        if (FlushType == MmFlushForDelete)
        {
                if(SectionObjectPointer->DataSectionObject!=NULL)
                {
                        pfile=(PFILE_OBJECT)( *(ULONG*)((ULONG)SectionObjectPointer->DataSectionObject + 0x24) );
                        __try
                        {
                                pwsz=wcsrchr(pfile->FileName.Buffer,L'\\');
                                if (pwsz!=NULL)
                                {
                                        pwsz++;
                                }
                                if (!_wcsnicmp(pwsz,L"test.txt",wcslen(L"test.txt")*2))
                                {
                                        return FALSE;
                                }
                        }
                        __except(1)
                        {
                                return FALSE;
                        }
                }
        }
        returnMmFlushImageSection(SectionObjectPointer,FlushType);
}
加载驱动后,一打开冰刃就蓝了。。。。。。尼玛!

Tesla.Angela 发表于 2015-9-2 18:49:55

哇,这都被你发现了,好厉害。
我发现你好喜欢拿我以前发在黑防的代码来改。。。

马大哈 发表于 2015-9-3 06:16:35

加载驱动后,一打开冰刃就蓝了。。。。。。尼玛!

这不就已经让冰刃删除不了这文件了么......{:soso_e120:}
页: [1]
查看完整版本: 号外号外:据说Hook MmFlushImageSection函数可以过冰刃的文件强删!