第一部分:

1: kd> kc
#
00 sfc_os!SfcQueueValidationRequest
01 sfc_os!SfcWatchProtectedDirectoriesWorkerThread
02 kernel32!BaseThreadStart

1: kd> dv
RegVal = 0x01129164
ChangeType = 5
vrd = 0x012bfef0
Status = 0n1988337684
vrdexisting = 0x012bffdc

    //
// if we're in GUI-Setup, don't queue any validation requests
//
if (SFCDisable == SFC_DISABLE_SETUP) {
return STATUS_SUCCESS;
}

1: kd> x sfc_os!SFCDisable
768421b8          sfc_os!SFCDisable = 0


vrd->NextValidTime = GetTickCount() + (1000*SFCStall);
vrd->RegVal = RegVal;
vrd->ChangeType = ChangeType;
vrd->Signature = SFC_VRD_SIGNATURE;

1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 ((sfc_os!_VALIDATION_REQUEST_DATA *)0x1fe0048)
((sfc_os!_VALIDATION_REQUEST_DATA *)0x1fe0048)                 : 0x1fe0048 [Type: _VALIDATION_REQUEST_DATA *]
[+0x000] Entry            [Type: _LIST_ENTRY]
[+0x008] Signature        : 0x69696969 [Type: unsigned long]
[+0x010] ImageValData     [Type: _COMPLETE_VALIDATION_DATA]
[+0x130] RegVal           : 0x1129164 [Type: _SFC_REGISTRY_VALUE *]
[+0x134] SourceInfo       [Type: _SOURCE_INFO]
[+0xd74] ChangeType       : 0x5 [Type: unsigned long]
[+0xd78] CopyCompleted    : 0 [Type: int]
[+0xd7c] Win32Error       : 0x0 [Type: unsigned long]
[+0xd80] SyncOnly         : 0 [Type: int]
[+0xd84] RetryCount       : 0x0 [Type: unsigned long]
[+0xd88] Flags            : 0x0 [Type: unsigned long]
[+0xd8c] NextValidTime    : 0xffd4b349 [Type: unsigned long]


1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 ((sfc_os!_SFC_REGISTRY_VALUE *)0x1129164)  
((sfc_os!_SFC_REGISTRY_VALUE *)0x1129164)                 : 0x1129164 [Type: _SFC_REGISTRY_VALUE *]
[+0x000] Entry            [Type: _LIST_ENTRY]
[+0x008] FileName         : "pidgen.dll" [Type: _UNICODE_STRING]
[+0x010] DirName          : "c:\windows\system32" [Type: _UNICODE_STRING]
[+0x018] FullPathName     : "c:\windows\system32\pidgen.dll" [Type: _UNICODE_STRING]
[+0x020] InfName          : "" [Type: _UNICODE_STRING]
[+0x028] SourceFileName   : "" [Type: _UNICODE_STRING]
[+0x030] OriginalFileName [Type: unsigned short [128]]
[+0x130] DirHandle        : 0x24 [Type: void *]
[+0x134] pvWinSxsCookie   : 0x0 [Type: void *]
[+0x138] dwWinSxsFlags    : 0x0 [Type: unsigned long]



第二部分:

1: kd> p
sfc_os!SfcQueueValidationRequest+0xb9:
001b:76838ee2 e860e7ffff      call    sfc_os!IsFileInQueue (76837647)
1: kd> t
sfc_os!IsFileInQueue:
001b:76837647 55              push    ebp
1: kd> kc
#
00 sfc_os!IsFileInQueue
01 sfc_os!SfcQueueValidationRequest
02 sfc_os!SfcWatchProtectedDirectoriesWorkerThread
03 kernel32!BaseThreadStart

1: kd> x sfc_os!SfcErrorQueue
76840e80          sfc_os!SfcErrorQueue = struct _LIST_ENTRY [ 0x12380d0 - 0x12380d0 ]
1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 (*((sfc_os!_LIST_ENTRY *)0x76840e80))
(*((sfc_os!_LIST_ENTRY *)0x76840e80))                 [Type: _LIST_ENTRY]
[+0x000] Flink            : 0x12380d0 [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0x12380d0 [Type: _LIST_ENTRY *]
1: kd> dt VALIDATION_REQUEST_DATA 0x12380d0
sfc_os!VALIDATION_REQUEST_DATA
+0x000 Entry            : _LIST_ENTRY [ 0x76840e80 - 0x76840e80 ]
+0x008 Signature        : 0x69696969
+0x010 ImageValData     : _COMPLETE_VALIDATION_DATA
+0x130 RegVal           : 0x01129164 _SFC_REGISTRY_VALUE        RegVal           : 0x01129164
+0x134 SourceInfo       : _SOURCE_INFO
+0xd74 ChangeType       : 3
+0xd78 CopyCompleted    : 0n1
+0xd7c Win32Error       : 0
+0xd80 SyncOnly         : 0n0
+0xd84 RetryCount       : 0
+0xd88 Flags            : 1
+0xd8c NextValidTime    : 0xffd2d959

        if (RegVal == vrd->RegVal) {
return vrd;        //VALIDATION_REQUEST_DATA 0x12380d0
}

        if (!vrdexisting || (vrdexisting->Flags & VRD_FLAG_REQUEST_PROCESSED) ) {

            DebugPrint1( LVL_VERBOSE,
L"Inserting [%ws] into error queue for validation",
RegVal->FullPathName.Buffer );

            InsertTailList( &SfcErrorQueue, &vrd->Entry );
ErrorQueueCount += 1;

            //
// do this to avoid free later on
//
vrdexisting = NULL;

        }


第三部分:


1: kd> p
sfc_os!IsFileInQueue+0x27:
001b:7683766e 5d              pop     ebp
1: kd> r
eax=012380d0


D:\srv03rtm\base\subsys\sm/sfc/dll/sfcp.h:471:#define VRD_FLAG_REQUEST_PROCESSED        0x00000001

+0xd88 Flags            : 1


1: kd> x sfc_os!ErrorQueueCount
76840e7c          sfc_os!ErrorQueueCount = 1


1: kd> x sfc_os!ErrorQueueCount
76840e7c          sfc_os!ErrorQueueCount = 2


1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 (*((sfc_os!_LIST_ENTRY *)0x76840e80))
(*((sfc_os!_LIST_ENTRY *)0x76840e80))                 [Type: _LIST_ENTRY]
[+0x000] Flink            : 0x12380d0 [Type: _LIST_ENTRY *]
[+0x004] Blink            : 0x1fe0048 [Type: _LIST_ENTRY *]


1: kd> dt VALIDATION_REQUEST_DATA 0x1fe0048
sfc_os!VALIDATION_REQUEST_DATA
+0x000 Entry            : _LIST_ENTRY [ 0x76840e80 - 0x12380d0 ]
+0x008 Signature        : 0x69696969
+0x010 ImageValData     : _COMPLETE_VALIDATION_DATA
+0x130 RegVal           : 0x01129164 _SFC_REGISTRY_VALUE
+0x134 SourceInfo       : _SOURCE_INFO
+0xd74 ChangeType       : 5                //+0xd74 ChangeType       : 5
+0xd78 CopyCompleted    : 0n0
+0xd7c Win32Error       : 0
+0xd80 SyncOnly         : 0n0
+0xd84 RetryCount       : 0
+0xd88 Flags            : 0                //+0xd88 Flags            : 0    
+0xd8c NextValidTime    : 0xffd4b349

1: kd> dt VALIDATION_REQUEST_DATA 0x12380d0
sfc_os!VALIDATION_REQUEST_DATA
+0x000 Entry            : _LIST_ENTRY [ 0x76840e80 - 0x76840e80 ]
+0x008 Signature        : 0x69696969
+0x010 ImageValData     : _COMPLETE_VALIDATION_DATA
+0x130 RegVal           : 0x01129164 _SFC_REGISTRY_VALUE        RegVal           : 0x01129164
+0x134 SourceInfo       : _SOURCE_INFO
+0xd74 ChangeType       : 3                //+0xd74 ChangeType       : 3
+0xd78 CopyCompleted    : 0n1
+0xd7c Win32Error       : 0
+0xd80 SyncOnly         : 0n0
+0xd84 RetryCount       : 0
+0xd88 Flags            : 1                //+0xd88 Flags            : 1
+0xd8c NextValidTime    : 0xffd2d959


第四部分:


1: kd> x sfc_os!hErrorThread
76840e88          sfc_os!hErrorThread = 0x00000b4c

1: kd> !handle b4c

PROCESS 89ce3d88  SessionId: 0  Cid: 01d4    Peb: 7ffdf000  ParentCid: 018c
DirBase: 7c1c9000  ObjectTable: e136a268  HandleCount: 564.
Image: winlogon.exe

Handle table at e136a268 with 564 entries in use

0b4c: Object: 892d6da0  GrantedAccess: 001f03ff Entry: e1792698
Object: 892d6da0  Type: (89dd5710) Thread
ObjectHeader: 892d6d88 (old version)
HandleCount: 3  PointerCount: 5

       THREAD 892d6da0  Cid 01d4.03bc  Teb: 7ffdc000 Win32Thread: e10ecea8 RUNNING on processor 0
IRP List:
899d7838: (0006,01d8) Flags: 00000884  Mdl: 00000000
8936dcd8: (0006,0190) Flags: 00000000  Mdl: 00000000
Not impersonating
DeviceMap                 e10026b8
Owning Process            89ce3d88       Image:         winlogon.exe
Attached Process          N/A            Image:         N/A
Wait Start TickCount      274695963      Ticks: 0
Context Switch Count      441            IdealProcessor: 0                 LargeStack
UserTime                  00:00:00.156
KernelTime                00:00:00.156
Win32 Start Address sfc_os!SfcQueueValidationThread (0x7683856f)
Stack Init b9af1000 Current b9af0924 Base b9af1000 Limit b9aec000 Call 00000000
Priority 14 BasePriority 13 PriorityDecrement 0 IoPriority 0 PagePriority 0
ChildEBP RetAddr  
b9af06f4 80aed4e8 nt!ExpAssertResource+0x71 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ex\resource.c @ 2913]
b9af0718 f713659e nt!ExReleaseResourceLite+0x18 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\ex\resource.c @ 1410]
b9af071c f7135f80 Ntfs!NtfsCommonCreate+0x1da0 (FPO: [SEH]) (CONV: stdcall) [d:\srv03rtm\base\fs\ntfs\create.c @ 4202]
b9af0908 f712f53e Ntfs!NtfsCommonCreate+0x1782 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\fs\ntfs\create.c @ 4210]
b9af0a08 80a2675c Ntfs!NtfsFsdCreate+0x1f6 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\fs\ntfs\create.c @ 904]
b9af0a24 80c75af1 nt!IofCallDriver+0x62 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c @ 2237]
b9af0b20 80c7607c nt!IopParseDevice+0xd7d (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\parse.c @ 1317]
b9af0b58 80d1cb2c nt!IopParseFile+0x78 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\parse.c @ 2014]
b9af0bd4 80d16798 nt!ObpLookupObjectName+0x14a (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ob\obdir.c @ 1834]
b9af0c28 80c61f73 nt!ObOpenObjectByName+0x13e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ob\obref.c @ 767]
b9af0ca4 80c63967 nt!IopCreateFile+0x44d (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c @ 5494]
b9af0cf0 80c6892f nt!IoCreateFile+0x73 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c @ 4788]
b9af0d38 80afbcb2 nt!NtOpenFile+0x57 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\open.c @ 95]
b9af0d38 7ffe0304 nt!_KiSystemService+0x13f (FPO: [0,3] TrapFrame @ b9af0d64) (CONV: cdecl) [d:\srv03rtm\base\ntos\ke\i386\trap.asm @ 1328]
007cf674 77f2f1d8 SharedUserData!SystemCallStub+0x4 (FPO: [0,0,0])
007cf678 7682f536 ntdll!NtOpenFile+0xc (FPO: [6,0,0]) [d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 1099]
007cf6c4 76837870 sfc_os!SfcOpenFile+0x8c (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\subsys\sm\sfc\dll\fileio.c @ 87]
007cf6ec 7683297d sfc_os!SfcGetValidationData+0x8b (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\subsys\sm\sfc\dll\validate.c @ 2126]
007cf724 76838b81 sfc_os!SfcRestoreFromCache+0x2fa (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\subsys\sm\sfc\dll\restore.c @ 1483]
007cffb8 77e41be7 sfc_os!SfcQueueValidationThread+0x612 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\subsys\sm\sfc\dll\validate.c @ 1702]
007cffec 00000000 kernel32!BaseThreadStart+0x34 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\win32\client\support.c @ 533]

第五部分:changtype=3

Breakpoint 4 hit
sfc_os!SfcQueueValidationRequest:
001b:76838e29 6a1c            push    1Ch
1: kd> dv
RegVal = 0x01129164
ChangeType = 3
vrd = 0x012bfef0
Status = 0n1988337684
vrdexisting = 0x012bffdc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93592.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93592.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/93592.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

100202Title和Input组件_编辑器-react-仿低代码平台项目

文章目录1 开发两个问卷组件1.1 Title组件1.2 Input组件1.3 画布静态展示TItle和Input2 Ajax获取问卷数据,并存储到Redux store2.1 API接口2.2 组件列表存储到Redux store统一管理2.3 重构useLoadQuestionData3 在画布显示问卷列表,点击可选中3.1 Redux获…

设置计划任务自动备份mysql

windows系统下1.创建mysql自动备份脚本mysqlback.bat需将此脚本存放在mysql的bin文件夹下。确保此脚本执行成功了在进行第2步做计划任务。echo off REM 定义备份目录backup_dir、备份的文件名filename set "backup_dirD:\mysqlback" set "filenamemysqlback_%da…

飞机起落架轮轴深孔中间段电解扩孔内轮廓检测 - 激光频率梳 3D 轮廓检测

摘要:飞机起落架轮轴深孔中间段电解扩孔内轮廓检测存在精度要求高、结构复杂等挑战。本文针对电解扩孔特殊工艺特征,探讨激光频率梳 3D 轮廓检测技术的应用,分析其检测原理、技术优势及在轮轴深孔检测中的实践,为电解扩孔内轮廓高…

【软考中级网络工程师】知识点之入侵防御系统:筑牢网络安全防线

目录一、入侵防御系统基础概念1.1 定义与作用1.2 与其他安全设备的关系二、入侵防御系统工作原理剖析2.1 数据包捕获与预处理2.2 深度包检测(DPI)技术2.3 威胁特征匹配2.4 行为分析与机器学习辅助检测2.5 威胁处理与响应机制三、入侵防御系统功能全面解析…

Python爬虫实战:研究scrapfly-scrapers库,构建电商/新闻/社交媒体数据采集系统

1. 引言 1.1 研究背景与意义 在大数据与人工智能技术深度渗透各行业的背景下,数据已成为企业决策、学术研究、产品创新的核心驱动力。互联网作为全球最大的信息载体,蕴含海量结构化与非结构化数据(如电商商品信息、新闻资讯、社交媒体动态等),其价值挖掘依赖高效的数据采…

Python爬虫反爬检测失效问题的代理池轮换与请求头伪装实战方案

Python爬虫反爬检测失效问题的代理池轮换与请求头伪装实战方案 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是…

【原理】C#构造函数可以标记为Static吗

【从UnityURP开始探索游戏渲染】专栏-直达 实例构造函数(Instance Constructor)不能标记为static但C#提供了一种特殊的‌ 静态构造函数(Static Constructor)专门用于初始化静态成员。下面依次介绍他们: 1. ‌实例构造…

数据结构--树(3)

数据结构基础(13) 文章目录数据结构基础(13)--树树的存储结构树的存储方式1:双亲表示法(顺序存储)树的存储方式2:孩子表示法树的存储方式3:孩子兄弟表示法树转二叉树森林…

sys.stdin读取键盘输入【持续更新~】

背景sys.stdin主要用来读取键盘的一行或者多行输入,读取后表达形式为字符串。下文主要探讨sys.stdin.readline()的使用,sys.stdin.read()参考:sys.stdin.readline()是逐行读取,通常会配合.strip()清除首尾的换行符/空格sys.stdin.…

近阈值技术引领者:STM32U3系列的能效与安全革新

引言 当电池供电设备已深度融入生活的每一个角落,功耗控制与续航能力俨然成为制约技术演进的核心瓶颈。在此背景下,超低功耗新系列STM32U3凭借前沿的近阈值设计理念,为受功耗瓶颈限制的设备提供了突破性解决方案,也为能耗管理开启…

Vue3 中的 provide 和 inject 详解:实现跨组件通信

一、provide 和 inject 概述在 Vue3 中,provide 和 inject 是一对用于实现跨层级组件通信的 API,它们解决了 props 需要逐层传递的繁琐问题。1.1 基本概念provide (提供):在祖先组件中提供数据inject (注入):在任意后代组件中注入…

Kafka 零拷贝(Zero-Copy)技术详解

文章目录1. 什么是零拷贝2. Kafka 如何实现零拷贝2.1 sendfile 系统调用2.2 mmap 内存映射3. 传统拷贝 vs 零拷贝3.1 传统文件传输流程3.2 零拷贝文件传输流程4. Kafka 零拷贝的具体实现4.1 消息消费时的零拷贝4.2 日志段文件的零拷贝5. 零拷贝带来的性能优势6. 零拷贝的适用场…

Vue 中 v-for 的使用及 Vue2 与 Vue3 的区别

v-for 基本用法v-for 是 Vue 中用于循环渲染列表的指令&#xff0c;基本语法如下&#xff1a;运行<!-- Vue2 和 Vue3 通用基本语法 --> <div v-for"(item, index) in items" :key"item.id">{{ index }} - {{ item.name }} </div>Vue2 和…

本地搭建dify+deepseek智能体

今天开始搭建智能体&#xff0c;学习一下&#xff0c;也是公司转型所需。(Windows下的docker安装给我差点干破防了&#xff0c;安装了一周docker才成功。我真就要放弃的时候&#xff0c;又意外成功了/(ㄒoㄒ)/~~)0、准备阶段 配置Windows10的基本配置。 按下键盘Windows键&…

网络常识-SSE对比Websocket

SSE&#xff08;Server-Sent Events&#xff09;和Websocket都是用于实现服务器与客户端实时通信的技术&#xff0c;但它们的设计理念、通信模式和适用场景有显著区别。以下从核心差异和适用场景两方面具体说明&#xff1a; 一、核心区别维度SSE&#xff08;Server-Sent Events…

lamp架构部署wordpress

CentOS 7主机&#xff1a;lamp.example.comIP&#xff1a;192.168.100.101、关闭防火墙与selinux# 关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 关闭selinuxvim /etc/selinux/config # 或vim /etc/sysconfig/selinuxSELINUXdisabled:wq# 重启reboot 2、开…

DC6v-36V转3.2V1A恒流驱动芯片WT7017

DC6v-36V转3.2V1A恒流驱动芯片WT7017WT7017是一款于连续工作模式下的降压LED恒流转换器&#xff0c;可驱动单只或多只LED,内置高精度电流检测器&#xff0c;能通过外置电阻设定输出电流,开关式1A恒流芯片。软启动、高达1MHZ开关频率,开路保护,输入范围在6V-40VDC内都能稳定可靠…

js如何循环HTMLCollection

场景 当使用document.getElementsByClassName方法获取一个包含DOM节点的集合arr时&#xff0c;正常的forEach和map操作都会报一个arr.map is not a function的错误因为这里的arr并不是标准的 数组 (Array)&#xff0c;而是一个 HTMLCollection 解决 使用document.querySelector…

Dart 逆袭之路:Flutter 4.0 如何推动移动端开发变革?

本文深入探讨 Dart 语言在 Flutter 4.0 框架下如何推动移动端开发变革。开篇回顾 Dart 诞生背景与初期困境&#xff0c;阐述其在与 Flutter 结合后崭露头角。进而详细剖析 Flutter 4.0&#xff0c;从全新渲染引擎带来的性能飞跃、丰富实用新组件简化开发&#xff0c;到手势系统…

基于MATLAB的卷积神经网络手写数字识别

一、系统架构设计 #mermaid-svg-QQU8judlmQgHc2Lh {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QQU8judlmQgHc2Lh .error-icon{fill:#552222;}#mermaid-svg-QQU8judlmQgHc2Lh .error-text{fill:#552222;stroke:#5…