在Ntfs.sys中找MajorFunction

AI驱动Windows内核漏洞挖掘:30天百洞背后的技术革命 模糊测试(Fuzzing)与静态分析是软件安全测试的核心技术,通过自动化生成异常输入或扫描代码来发现潜在缺陷。其原理在于模拟攻击行为,触发程序异常以定位漏洞。AI技术的融入,特别是大语言模型(LLM)和机器学习,正从根本上颠覆这一领域。AI赋能的安全测试能实现智能化的攻击面测绘、语义感知的测试用例生成与变异,以及对海量崩溃报告的智能聚类与去重,极大提升了漏洞挖掘的效率和规模。这为自动化安全审计、红蓝对抗和软件开发生命周期(SDL)左移带来了前所未有的技术价值。在操作系统内核、驱动程序等高价值目标的安全评估中 阅读详情
 

lkd> u ntfs!GsDriverEntry l 100

Ntfs!GsDriverEntry:

ba598184 8bff            mov     edi,edi

ba598186 55              push    ebp

ba598187 8bec            mov     ebp,esp

ba598189 a1d82553ba      mov     eax,dword ptr [Ntfs!__security_cookie (ba5325d8)]

ba59818e 85c0            test    eax,eax

ba598190 b940bb0000      mov     ecx,0BB40h

ba598195 7404            je      Ntfs!GsDriverEntry+0x17 (ba59819b)

ba598197 3bc1            cmp     eax,ecx

ba598199 7520            jne     Ntfs!GsDriverEntry+0x3a (ba5981bb)

ba59819b 8b1500ae52ba    mov     edx,dword ptr [Ntfs!_imp__KeTickCount (ba52ae00)]

ba5981a1 b8d82553ba      mov     eax,offset Ntfs!__security_cookie (ba5325d8)

ba5981a6 c1e808          shr     eax,8

ba5981a9 3302            xor     eax,dword ptr [edx]

ba5981ab 25ffff0000      and     eax,0FFFFh

ba5981b0 a3d82553ba      mov     dword ptr [Ntfs!__security_cookie (ba5325d8)],eax

ba5981b5 0f84aa120000    je      Ntfs!GsDriverEntry+0x33 (ba599465)

ba5981bb f7d0            not     eax

ba5981bd a3d42553ba      mov     dword ptr [Ntfs!__security_cookie_complement (ba5325d4)],eax

ba5981c2 5d              pop     ebp

ba5981c3 90              nop

ba5981c4 90              nop

ba5981c5 90              nop

ba5981c6 90              nop

ba5981c7 90              nop

Ntfs!DriverEntry:

ba5981c8 8bff            mov     edi,edi

ba5981ca 55              push    ebp

ba5981cb 8bec            mov     ebp,esp

ba5981cd 81ecc8000000    sub     esp,0C8h

ba5981d3 a1d82553ba      mov     eax,dword ptr [Ntfs!__security_cookie (ba5325d8)]

ba5981d8 53              push    ebx

ba5981d9 56              push    esi

。。。。。。。。。

ba598270 ff154cac52ba    call    dword ptr [Ntfs!_imp__IoCreateDevice (ba52ac4c)]

ba598276 3bc3            cmp     eax,ebx

ba598278 0f8cfb050000    jl      Ntfs!DriverEntry+0x854 (ba598879)

ba59827e c7467ca3ca58ba mov     dword ptr [esi+7Ch],offset Ntfs!NtfsFsdLockControl (ba58caa3)

ba598285 c74668bdaf53ba mov     dword ptr [esi+68h],offset Ntfs!NtfsFsdDirectoryControl (ba53afbd)

ba59828c c74650186651ba mov     dword ptr [esi+50h],offset Ntfs!NtfsFsdSetInformation (ba516618)

ba598293 c74638018c53ba mov     dword ptr [esi+38h],offset Ntfs!NtfsFsdCreate (ba538c01)

ba59829a c74640ea8053ba mov     dword ptr [esi+40h],offset Ntfs!NtfsFsdClose (ba5380ea)

ba5982a1 c746443b5f51ba mov     dword ptr [esi+44h],offset Ntfs!NtfsFsdRead (ba515f3b)

ba5982a8 c74648574b51ba mov     dword ptr [esi+48h],offset Ntfs!NtfsFsdWrite (ba514b57)

ba5982af c7465cc82e55ba mov     dword ptr [esi+5Ch],offset Ntfs!NtfsFsdFlushBuffers (ba552ec8)

ba5982b6 c7466c58d753ba mov     dword ptr [esi+6Ch],offset Ntfs!NtfsFsdFileSystemControl (ba53d758)

ba5982bd c78680000000b88a53ba mov dword ptr [esi+80h],offset Ntfs!NtfsFsdCleanup (ba538ab8)

ba5982c7 c74678af7552ba mov     dword ptr [esi+78h],offset Ntfs!NtfsFsdShutdown (ba5275af)

ba5982ce c786a4000000f05755ba mov dword ptr [esi+0A4h],offset Ntfs!NtfsFsdPnp (ba5557f0)

ba5982d8 c74628a02753ba mov     dword ptr [esi+28h],offset Ntfs!NtfsFastIoDispatch (ba5327a0)

ba5982df b8b99253ba      mov     eax,offset Ntfs!NtfsFsdDispatchWait (ba5392b9)

ba5982e4 89464c          mov     dword ptr [esi+4Ch],eax

ba5982e7 8986a0000000    mov     dword ptr [esi+0A0h],eax

ba5982ed 89869c000000    mov     dword ptr [esi+9Ch],eax

ba5982f3 894658          mov     dword ptr [esi+58h],eax

ba5982f6 894654          mov     dword ptr [esi+54h],eax

ba5982f9 b8049453ba      mov     eax,offset Ntfs!NtfsFsdDispatch (ba539404)

ba5982fe 894664          mov     dword ptr [esi+64h],eax

ba598301 894660          mov     dword ptr [esi+60h],eax

ba598304 89868c000000    mov     dword ptr [esi+8Ch],eax

ba59830a 898688000000    mov     dword ptr [esi+88h],eax

ba598310 894670          mov     dword ptr [esi+70h],eax

ba598313 a14cad52ba     mov     eax,dword ptr [Ntfs!_imp__FsRtlMdlReadCompleteDev (ba52ad4c)]

【四足机器人项目实战】四足机器人弹簧倒立摆(SLIP)动力学模型 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言1.动力学建模构型方法2.四足机器人动力学模型(1)多体动力学模型【针对躯干+脚建模】方法一:VMC(VirtualModelController)模型方法二:SLIP模型(2)浮基单体动力学模型【针对躯干建模】【用于MPC】 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人动力学模型-VMC、SLIP和浮动机体模型做个简 阅读详情

相关推荐

保姆级教程:断网环境下用Flexnet服务器搞定SolidWorks 2021安装与破解(附错误5解决方案)

本文提供SolidWorks 2021在断网环境下的企业级部署指南,详细解析Flexnet服务器本地化工作原理,并给出安装与破解的实战方案,特别针对常见的'错误5'问题提供多维度解决方案。适用于需要内网隔离或移动办公的工业设计场景,确保数据安全与授权合规。

weixin_28683391的博客 302

Windows驱动开发技术详解第七章(派遣函数)

驱动程序的主要功能是负责处理IO请求,绝大部分IO请求在派遣函数中完成 用户模式下所有对驱动程序的IO请求,全部由操作系统转化为一个叫IRP的数据结构 不同的IRP数据会被派遣到不同的派遣函数中 IRP 全名:输入输出请求包 两个基本属性:MajorFunction(IRP主类型)和MinorFunction(IRP子类型) 操作系统根据MajorFunction将IRP派遣到不同的派遣函数中 IRP派遣函数的注册 一般来说,NT式和WDM式驱动程序都是在DriverEntry函数中注册的派遣函数 示例.

冰糖葫芦的夏天的博客 833

告别环境配置噩梦:VSCode + MinGW 下 OpenGL (glad/glm/glfw) 一站式配置指南(含常见错误排查)

本文提供了一份详细的VSCode与MinGW下OpenGL开发环境配置指南,涵盖glad、glm和glfw三大核心库的安装与调试。通过逐步指导解决常见错误,帮助开发者快速搭建高效的OpenGL开发环境,特别适合初学者避免环境配置中的常见陷阱。

weixin_42557803的博客 491

Windows 驱动开发笔记(四)

Windows 驱动开发笔记(四)一个设备驱动通常是要能接受用户控制的。为了能够完成用户的调用,就需编写各种响应例程。这就是驱动中的I/O处理例程(Dispatch例程)。响应什么"事件"就注册对应的例程。如:响应CreateFile Windows API 就要编写一个响应[IRP_MJ_CREATE]的例程。当用户发出CreateFile调用时就会生成一个IRP这个IRP的MajorFunct

bigbat的专栏 2153

别再手动测接口了!用Pytest+Requests+Allure搭建你的第一个自动化框架(附完整源码)

本文详细介绍了如何使用Pytest+Requests+Allure搭建Python接口自动化测试框架,涵盖环境准备、核心组件封装、测试用例设计、报告生成及CI/CD集成等关键步骤。通过实战案例和完整源码,帮助开发者快速构建高效的接口自动化测试解决方案,提升测试效率和质量。

weixin_42546508的博客 321

如何导入su_利用GIS快速生成SU场地模型

01|前言:进入2021年了,希望大家也是一个新的开始。告诫自己多写文章多更新,多读点书多旅行。然而元旦由于出去玩了4天,积累了一些事情要处理,一直没有时间好好写点东西。今天给大家带来的分享主题叫“利用GIS快速生成SU场地模型”。相关的视频方法其实B站上也有,但我相信视频很多人都不会看,我自己也是。直接给大家上操作流程。主要的操作步骤是【获取场地的矢量shp文件】—【导入ArcScen...

weixin_33806859的博客 9813

驱动开发学习笔记

1、三种类型的WDM驱动程序   总线驱动程序(bus driver)   功能驱动程序(function driver)   过滤驱动程序(filter driver)2、其他分类方法   类驱动程序(class driver)   端口驱动程序(port driver)   小端口驱动程序(miniort driver)3、驱动对象(DRIVER_OBJECT)主要成员   Devic

迈克揉索芙特 3927

电力电子论文(TPE、TTE)投稿经验分享

电力电子顶刊论文投稿经验

橙子的博客 2万+

windows错误事件 98、41、7000、55、153解决办法

事件ID 41是一个泛指的错误代码,它没有提供详细的故障信息或具体的原因。驱动程序问题:不稳定、过时或不兼容的驱动程序可能导致系统崩溃。尝试卸载或禁用最近安装的应用程序,或通过重新安装软件来解决可能的问题。确保计算机的散热系统正常运行,清洁内部和外部的灰尘,并确保良好的空气流通。如果需要 Microsoft 支持方面的帮助,建议按照 使用 TSS 收集与部署相关的问题的信息中所述的步骤收集信息。若要解决 症状 部分的示例中描述的问题,请在注册表中禁用 Cdrom 或 Parport 服务,以停止记录错误。

qq_33794290的博客 1万+

算法导论之线性规划

线性规划,充斥着运筹学,在图的单源最短路径求解差分约束系统就是用到线性规划。怎么样问题可以建模为线性规划来解决呢?在给定的有限的资源和竞争约束情况下,取得最大化或最小化目标的问题。导论中给出政治竞选问题、航空航线调度问题、钻井采油问题。最大化或最小化目标是函数的因变量,自变量就是资源的约束因素,其函数就是由这些制约因素构成的等式或不等式。下面数学定义下线性规划。 在一般线性规划问题中,最优化一个

医疗影像检索 2万+

Python爬虫实战:股票历史数据抓取与量化回测全流程详解

我们以**东方财富网(eastmoney.com)和雪球网(xueqiu.com)**为主要目标,演示如何爬取A股历史行情。最常用的HTTP请求库,简单易用,适合静态页面数据请求。本文详细介绍了从股票历史数据抓取到简单回测的完整流程,代码示例基于最新技术,结构清晰,适合初学者和进阶者学习量化投资实战。希望对你入门Python爬虫和量化交易有所帮助!

2201_76125261的博客 1782

Windows驱动开发第6课(完善驱动框架-IRP例程注册)

完善驱动框架-IRP例程注册。(明天更新)

weixin_42655748的博客 1116

反应动力学仿真软件:ChemkinPro_(11).敏感性分析

敏感性分析是化学反应动力学仿真中的一项重要技术,通过对模型参数的变化对模型输出的影响进行评估,可以帮助研究人员优化模型、验证实验数据和评估不确定性。ChemkinPro 提供了强大的敏感性分析功能,可以方便地进行参数选择、仿真设置和结果解读。通过实际案例研究,我们可以看到敏感性分析在燃烧、催化和环境化学等领域的广泛应用,为科学研究和工程应用提供了有力支持。

kkchenjj的博客 1309

windbg : FSD's MajorFunction list

/// FSD派遣函数列表 /// windbg : FSD's MajorFunction list kd> version Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible Built by: 2600.xpsp.080413-2111 >> ProcessShowFsd pDrvObj->Driv

博客标题不能为空 1853

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

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

文件系统fsd hook (一)原理

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

weixin_30955617的博客 284

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Windows驱动开发(二)WDM/WDF的IOControl

上一章大概介绍了WDM/WDF的驱动模型, 链接:https://blog.csdn.net/o0xwh_93150o/article/details/104213348 这一章我们主要来看一下驱动程序中的IO请求是如何处理的。 其实驱动程序的主要功能也就是负责处理IO请求,其中大部分IO请求是在派遣函数中处理的。用户模式下的所有对驱动程序的IO请求,全部由操作系统转化为一个叫做IRP(IO...

o0xwh_93150o的博客 1910

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MajorFunctionStr正确转法

BthpanIoctlMajorFunctionStr

如鹿渴慕泉水的专栏 332

irp

<br />驱动程序中IRP处理机制类似Windows应用程序中的"消息处理"机制。在Windows内核中,有个复杂的数据结构IRP,这是与输入输出相关的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将I/O请求转化成相应的IRP数据,不同类型的IRP会根据类型传递到不同的派遣函数内。<br />IRP有两个基本的属性,MajorFunction和MinorFunction,分别记录IRP的主类型和子类型。操作系统根据MajorFunction将IRP"派遣"到不同的派遣函数

raiky的专栏 933

函数指针、函数数组的使用

在学习驱动编程的过程中,碰到函数指针的使用,如下: pDriverObject->MajorFunction[IRP_MJ_CREATE]=ddk_DispatchRoutine_CONTROL; //IRP_MJ_CREATE相关IRP处理函数 NTSTATUS ddk_DispatchRoutine_CONTROL(IN PDEVICE_OBJECT pDevobj,IN PIRP p

h_james的博客 526

IO_STACK_LOCATION

IO_STACK_LOCATION IO_STACK_LOCATION 结构定义了一个 I/O stack location, 是每个IRP关联的 I/O stack的其中一个入口。 在IRP中的每个I/O stack location 都有一些通用的成员和一些与请求相关的成员。 typedef struct _IO_STACK_LOCATION { UCHAR MajorFunct

死胖子的博客 1786

【文件7】所谓hardlink 所谓XCB大法

所谓hardlink 所谓XCB大法   前两天看到NTFS之HARDLINK攻防第二版,本来是讲hardlink,不过提到了个XCB大法,卖了个关子,出于好奇就逆了360FkAdv,本来逆的差不多了想替换的,结果发现驱动由DLL释放,DLL又由别的释放,懒得写会原程序了。。。上篇blog有点前置知识。。   链接中的文章展示了一种删除Hive硬链接占坑同时解锁文件的方法(解锁文件其实是副

Returns' Station 3357

<学习笔记>Windows驱动技术开发详解__驱动程序的基本结构

驱动程序中重要的数据结构 驱动对象:DRIVER_OBJECT 每个驱动程序都会有唯一的驱动对象与之相对应,这个驱动对象是在驱动加载的时候,被内核中对象管理程序创建的。 DRIVER_OBJECT数据结构: typedef struct _

The New Old Things 2737

驱动程序中有关IRP介绍(IRP Major Function Codes)

一直对写驱动程序的人很崇拜,所以自己也学着写驱动程序,结果一上来被IRP给搞晕了,看了别人写的驱动程序里有很多的IRP code,可是如果自己写到底需要哪些呢?于是查了MSDN把它们都罗列出来,让自己心里有个数。IRP_MJ_CREATE:每个驱动程序必须在DispatchCreate或者                DispatchCreateClose 例程中处理此IRP请求。 

danxuezx的专栏 2670

MajorFunction ARRAY

create    0 create_named_pipe  1 close   2 read   3 write 4 query_information 5 set_information 6 query_ea 7 set_ea          8 fl

whispermemory的专栏 1215

Windows驱动开发(8) - 派遣函数

Windows驱动开发(8) - 派遣函数1、IRP和派遣函数  驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的。用户模式下所有对驱动程序的I/O请求,全部由操作系统转化为一个叫做IRP的数据结构,不同的IRP数据会被“派遣”到不同的派遣函数(Dispatch Function)中。1.1 IRP  IRP(I/O request packet)有两个属性,一个是M

Vinx Blog 1001
上一篇: 庆祝My blog come back!
下一篇: unhook——如何得到原始派遣函数的地址
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值