fsd hook里获取文件全路径

基于HOOK技术的本地打印监控系统开发 基于HOOK技术的本地打印监控,截获打印消息,实现打印机的启动关闭功能,以数据文件为纽带,实现打印机信息优化管理。 立即下载
NTSTATUS MyFsdCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
PDRIVER_DISPATCH        RealDispatch;
NTSTATUS                    ntStatus;
NTSTATUS                    status;
PFILE_OBJECT              FileObject;
ULONG              retSize;
PIO_STACK_LOCATION        ispSp;
POBJECT_NAME_INFORMATION      fileNameInformation;;


if(DeviceObject->DriverObject==fsdNtfs)
    RealDispatch = NtfsCreate;
else
    RealDispatch = FastfatCreate;

ispSp = IoGetCurrentIrpStackLocation(Irp);
FileObject = ispSp->FileObject;
 
ntStatus = RealDispatch(DeviceObject, Irp);

fileNameInformation = ExAllocatePool(NonPagedPool, 1024);
if(! fileNameInformation)
    return ntStatus;

status = ObQueryNameString(FileObject, fileNameInformation, 1024, &retSize);

if(! NT_SUCCESS(status) )
{
    DbgPrint("ObQueryNameString failed %d /n", status);
}
else
{
    DbgPrint("file name: %ws /n", fileNameInformation->Name.Buffer);
}

ExFreePool(fileNameInformation);

return ntStatus;
}

需要注意的是FileObject 必须在call RealDispatch 之前去获取,否则的话你将面临bsod。 
易语言取文件路径的操作教程 在本篇内容里小编给大家分享的是关于易语言取文件路径的操作方法,对此有需要的朋友们可以学习参考下。 立即下载

相关推荐

uniapp开发AndroidAPP集成支付宝支付及问题处理(商家订单参数异常等),集成微信小程序支付及问题处理(运行真机调试白屏)

2、选择支付宝支付,调用支付接口唤起支付宝支付。

qq_16785561的博客 3486

FSD HOOK与SSDT HOOK恢复简单思路

FSD 解释: File System Driver文件系统驱动程序,分为本地FSD和远程FSD。 (1) 本地FSD:允许用户访问本地计算机上的数据 ——本地FSD负责向I/O管理器注册自己,当开始访问某个卷时,I/O管理器调用FSD来进行卷识别。 ——完成卷识别后,本地FSD创建一个设备对象以表示所装载的文件系统。 ——I/O管理器通过卷参数块(VPB)在存...

weixin_34292924的博客 401

YOLOv8n行人检测实战:从数据集准备到模型训练

本文详细介绍了使用YOLOv8n进行行人检测的完整流程。首先阐述了YOLOv8的优势:高速推理(300+FPS)、更高精度、易用性和轻量化(仅6MB)。接着通过Docker搭建GPU训练环境,配置32GB共享内存避免数据加载问题,并安装必要的框架和OpenCV组件。数据集采用COCO2017标注格式,包含归一化坐标的YOLO标签文件。通过可视化脚本验证标注准确性后,提出多数据集融合训练策略以增强模型泛化能力。最后使用Ultralytics框架启动训练,展现了从环境搭建到模型训练的完整技术路径。该方案兼顾检测

Hi20240217的博客 1091

Windows驱动学习(六)-- FSD钩子

教程参考自:https://www.bilibili.com/video/av26193169/?p=8 代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_FSDHook 1. 概述 FSD钩子是一种较实用的过滤方法,对比于上一章的添加键盘过滤设备,这种方法更显得简单高效。 2. 驱动编写 2.1 驱动入口函数 入口函数简单明...

安全杂货铺 2748

从Power到HO:一文搞懂主流脑图谱在DPABI里怎么选,让你的rs-fMRI分析更精准

本文深入解析了rs-fMRI分析中主流脑图谱(如Power、HO、AAL等)在DPABI中的科学选择策略,帮助研究者根据不同的神经科学研究目标优化分析流程。从解剖学图谱到功能连接图谱的特性对比,到DPABI实操中的多图谱分析工作流,提供了全面的方法论指导,助力提升静息态功能磁共振成像(rs-fMRI)研究的精准度和可重复性。

weixin_30654583的博客 403

光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)

一旦结果与预测差距较大,可能存在光伏系统的问题,需要找出原因,然后采取适当措施来修复光伏系统并做出更好的决策。例如,根据准确的预测,光伏系统运营商可以平衡电力消耗,并将多余的电力储备用于紧急情况。然而,光伏系统的发电量估算是一个挑战,因为光伏系统的发电量受到天气条件的极大影响。整个项目文件夹(第一个文件夹为xgboost模型相关的包文件,xg.py是xgboost模型英文注释版本,xg_chinese.py是xgboost模型中文注释版本)表示空气的温度,通常以摄氏度(°C)或华氏度(°F)为单位。

2301_79699110的博客 3032

文件系统fsd hook (一)原理

要知道FSDHook原理,首先我们必须了解什么是FSD,也就是FileSystem。我们电脑上的文件系统ntfs.sys,他有个设备\FileSystem\Ntfs,这个设备是用IoCreateDevice创建,跟我们写驱动的时候一样,那么我们可以通过这个设备,来对ntfs做一些操作,跟ntfs驱动进行一些通信。我们来看IDA分析: //这个就是我们以前的代码,创建一个通信设备 RtlI...

weixin_30602505的博客 318

LSTM模型股价波动率预测(含Python代码)

源代码文件可在gzh’finance褪黑素'回复【24012203】获取。

celiaweiwei的博客 3775

NTFS FSD HOOK

NTFS FSD HOOKNTSTATUS FSDHookControl( IN BOOLEAN IsHook ) { NTSTATUS status = STATUS_SUCCESS; UNICODE_STRING uNTFS = {0}; PDRIVER_OBJECT NTFS = NULL; RtlInitUnicodeString( &uNTFS, L"\\Fi

Lycorisradiata 692

WSL2 + Open3D点云可视化踩坑全记录:从GLFW报错到VcXsrv配置,一篇讲清所有‘坑’

本文详细解析了在WSL2环境中使用Open3D进行点云可视化时遇到的常见问题,特别是GLFW报错和VcXsrv配置问题。通过系统性的解决方案和高级配置技巧,帮助开发者彻底解决图形显示、驱动加载和库版本冲突等难题,实现高效的点云可视化。

weixin_30627341的博客 101

S4-FPGA-K7板级原理图硬件实战

xilinx K7板级硬件实战

weixin_66510961的博客 6152

绕过文件系统过滤驱动和钩子

1对付文件系统过滤驱动 文件系统过滤驱动Attach在正常的文件系统之上,监视和过滤我们的文件访问。文件系统驱动栈就是由这一连串的Attach起来的过滤驱动组成。我们可以用IoGetRelatedDeviceObject这个函数来获得一个FileObject对应的最底层的那个功能驱动对象(FDO)。但是这样虽然绕过了那些过滤驱动,却同时也绕过了正常的FSD如Ntfs/Fastfat,因为正常

trents的专栏 3918

SAP资产按每天折旧功能介绍

注意:此处在计算百分比时将30天作为剩余使用寿命,因为SAPS/4HANA中的计算是通过考虑购置第一年的折旧总天数来进行的。这是因为我在计算总使用寿命时只使用了365天,如果剩余使用寿命大于1年,SAPS/4HANA会将闰年规范化为365天。此功能仅对确定使用寿命或剩余寿命百分比的折旧键有用,如果需要,这种折旧到日的解决方案可以应用于需要每天计算折旧的跨行业(任何国家/行业)。注意:这里在计算百分比时考虑了2天,因为364天已经过期,但目前我们到达2024年,使用寿命为366天。它只会在下一年生效。

yanzibing99的博客 1560

note : when FSD HOOK + IRP_MJ_CREATE, judge pFileObject->Flags

FSD HOOK后,  为了提高效率, 判断 FILE_OBJECT.Flags, 用于比对 IRP_MJ_CREATE 操作的黑名单. BOOLEAN FileObjectFlagIsFileOpen(ULONG_PTR ulFlags) { /// #define FO_SYNCHRONOUS_IO 0x00000002 /// 每秒钟一次的文件操

博客标题不能为空 1528

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

FSDHOOK恢复

WCHAR DriverName[] = L"\\FileSystem\\ntfs"; WCHAR DriverPath[] = L"\\??\\C:\\WINDOWS\\system32\\drivers\\ntfs.sys"; RestoreFSDMajorRoutine(&DriverName, &DriverPath, IRP_MJ_CREATE); //函数名: Resto

125096 720

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

瑞星2008主动防御技术分析

看到瑞星2008发布了所谓”超越传统HIPS”、“监控功能比传统HIPS的更全面"的功能,当时为之震惊,难道国产杀毒软件终于开发出了强大的HIPS功能了?立刻下了测试版安装,打算进行测试。起初考虑,发布文章中说得如此强大的主动防御技术,是不是需要逆向分析才能清楚呢?可惜,事实告诉我们,灰盒就够了。使用Rootkit Unhooker/Gmer工具对安装瑞星2008的机器进行扫描即可得出瑞星的保护究

1753

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【转】瑞星2008采用的主动防御技术及弱点分析

(1) SSDT HOOK: 使用了最原始也是最易恢复的SSDT挂钩方式挂钩了入下函数:ZwCreateThread、ZwWriteProcessMemory:用于防止远线程注入ZwLoadDriver:拦截正规通过SCM的驱动加载ZwSetValueKey、ZwCreateKey、ZwDeleteKey、ZwDeleteKey、ZwDeleteValueKey、ZwRenameKey:用于拦截注

evil.eagle的专栏 1646

Win64 驱动内核编程-17. MINIFILTER(文件保护)

MINIFILTER(文件保护) 使用HOOK来监控文件操作的方法有很多,可以在SSDT上HOOK一堆和FILE有关的函数,也可以对FSD进行IRPHOOK,不过这些方法既不方便,也不安全。微软推荐的文件操作过滤方法是使用过滤驱动,在VISTA之后,推荐使用MINI...

墨鱼菜鸡 593

几种钩子类型

1.函数钩子:可以向被注入线程插入木马代码2.系统API钩子,通过给系统的API附加上一段小程序,达到监视甚至控制应用程序对API的调用。3.输入地址表(IAT)钩子,用另一个函数的地址替换DLL输入函数的地址4.中断分配表(IDT)钩子,替换中断分配表中中断服务程序(ISR)的入口地址5.IO请求包函数表(IRP)钩子,替换IRP函数表的一些表项来达到隐藏目的,如文件.网络端口.注册表项等。6....

inuo2011的博客 2053

note : IRP hook on R0

IRP hook 以FSD Hook 为例, Hook和UnHook的操作, 在DeviceIoControl中响应. Hook 处理 /// @file Fsd.h /// @brief FSD(\\FileSystem\\Ntfs) 处理 #ifndef __FSD_H__ #define __FSD_H__ #include #include "

博客标题不能为空 1957

FSD's Inline Hook & EAT modify check Completed

   瞎折腾个半天,太菜, 之前也没怎么搞过检测程序,于是匆匆逆了下几个无壳的ARK,结合R3和R0,加上自己的一些总结,胡弄了个DEMO. 目前仅仅是遍历检测ntoskrnl.exe EAT(没加SSDT), 对于fastfat.sys/ntfs.sys/disk.sys等模块还没有检测,不过弄起来也很快, 支持对未导出函数 、Push+ret 等的HOOK检测,不过很脆弱,后期继续加强检

1325

学习笔记-libc框架层的Hook利用

系统框架层native hook libc函数符号hook libc函数参数、返回值打印和替换 主动调用libc读写文件 hook linker dlopen frida-trace 引入例子,先hook pthread这个libc函数,流程个人理解是,先看函数是否导出,如果导出可以直接使用frida api获得函数地址,至于是否导出,objection安排上,没导出,那就直接枚举so的...

ai agent 910

SSDT inlineHook

上一篇我们介绍了最简单的SSDT,这篇来写一下inlineHook。 所谓的inlineHook就是在内存中修改所需要挂钩函数的前几个字节,让其跳转到我们的fake函数,执行完毕后再跳回去执行原函数,这样的话我们就没有修改SST表里面的内容,而是对函数本身修改。 流程摘自:看雪aniquest 1. 获取服务函数地址: (1)通过全局变量KeServiceDescriptorTable获得SSDT表的起始地址; (2)映射ntdll.dll到ring0空间,获得要Hook的函数的服务索引号; (

dre4merp 526
上一篇: 内核模式的dll编写与调用
下一篇: Win2K下驱动程序的动态加载
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值