采用个hook技术对writefile函数进行拦截(2)

简介: http://www.cnblogs.com/zhxfl/archive/2011/11/03/2233846.html 这个是笔者之前写过的WriteFile HOOK代码必须补充对这几个函数的HOOK,才能对WriteFile的所有操作做“比较彻底的拦截”,笔者知道应用层的拦截很容易出现遗漏的,只有编写驱动做文件过滤才会有比较好的效果,不过在实现那个之前,想再应用层做好这些实验,看一下效果。

http://www.cnblogs.com/zhxfl/archive/2011/11/03/2233846.html 这个是笔者之前写过的WriteFile HOOK代码

必须补充对这几个函数的HOOK,才能对WriteFile的所有操作做“比较彻底的拦截”,笔者知道应用层的拦截很容易出现遗漏的,只有编写驱动做文件过滤才会有比较好的效果,不过在实现那个之前,想再应用层做好这些实验,看一下效果。

具体的api函数参数可以在http://msdn.microsoft.com/en-us/library/aa365749%28VS.85%29.aspx里面翻出来

 BOOL WriteFileEx(
  HANDLE hFile,
  LPCVOID lpBuffer,
  DWORD nNumberOfBytesToWrite,
  LPOVERLAPPED lpOverlapped,
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

BOOL WINAPI WriteFileGather(
__in        HANDLE hFile,
__in        FILE_SEGMENT_ELEMENT aSegmentArray[],
__in        DWORD nNumberOfBytesToWrite,
__reserved  LPDWORD lpReserved,
__inout     LPOVERLAPPED lpOverlapped
);
View Code



进行了比较全面的拦截,不过会造成系统不稳定,特别是LoadLibararyExA和LoadLibararyExW函数的拦截。另外令人纠结的是fopen打开的文件写操作没有拦截成功,自然freopen这些重定向的也不能成功啦,所有应用层DLL注入的方法实现文件write的过滤是
非常不合理的想法,很难做全面的拦截,而且影响系统的正常运行。
全面的文件过滤在这个实验里面,不得不承认api hook技术无法承担这个重任,看来只有驱动层能够实现真正意义上的完整文件过滤
目录
相关文章
|
前端开发 JavaScript API
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
956 0
|
存储 安全 编译器
【C++ 17 泛型容器对比】C++ 深度解析:std::any 与 std::variant 的细微差别
【C++ 17 泛型容器对比】C++ 深度解析:std::any 与 std::variant 的细微差别
1223 1
|
网络安全 开发工具
微信小程序之使用本地接口开发
  本文主要讲解如何使用本地接口进行开发,很多人都会遇到这个问题,特别是小程序上线后。 一、解决思路   在小程序开发工具设置网络代理,然后再通过Charles设置代理,将https域名转为本地接口进行访问。
3048 0
|
域名解析 缓存 监控
【域名解析 DNS 专栏】解析失败的 DNS 重试策略与配置优化
【5月更文挑战第28天】DNS解析在数字化时代关键但常遇失败,可能由网络、服务器或域名错误引起。实施智能重试策略(如指数级增长的重试间隔)和配置优化(如选用可靠DNS服务器、设置缓存、监控预警)能提高成功率和系统稳定性。示例代码展示基本DNS重试函数,强调需按业务需求调整策略并配合监控以保证高效稳定的DNS解析。
719 1
|
人工智能 自然语言处理 开发者
Claude 3系列包含Haiku(低)、Sonnet(中)和Opus(高)三个模型
Claude 3系列包含Haiku(低)、Sonnet(中)和Opus(高)三个模型
2958 1
|
前端开发 rax Linux
汇编语言与x64函数参数传递
汇编语言与x64函数参数传递
715 0
|
人工智能 开发者
通义千问,榜首!
通义千问,榜首!
1072 1
|
内存技术
HTTP-FLV详解及分析(二)
HTTP-FLV详解及分析
703 0
|
机器学习/深度学习 文字识别 算法
【OCR学习笔记】9、OCR中文项目综合实践(CTPN+CRNN+CTC Loss原理讲解)(二)
【OCR学习笔记】9、OCR中文项目综合实践(CTPN+CRNN+CTC Loss原理讲解)(二)
777 0
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
707 0