ETW:Windows 事件追踪 101
ETW是Windows操作系统提供的跟踪工具,可以记录应用程序和驱动程序产生的事件。它支持高速记录、故障排查和性能分析等功能。ETW的控制由控制器实现,提供事件的是提供商,而请求监听事件的是消费者。学习ETW可用于分析系统行为,包括故障排查和性能影响因素排查。
ETW是Windows操作系统提供的跟踪工具,可以记录应用程序和驱动程序产生的事件。它支持高速记录、故障排查和性能分析等功能。ETW的控制由控制器实现,提供事件的是提供商,而请求监听事件的是消费者。学习ETW可用于分析系统行为,包括故障排查和性能影响因素排查。
这篇内容介绍了如何在Windows系统中进行屏幕捕获的权限管理,特别是拦截截屏操作。文章首先指出在传统Windows应用程序中,系统没有提供直接的权限管控,因此需要采取一些其他方式,如使用hook来进行权限管控。接着,文章演示了如何通过API Monitor来监听目标应用程序的行为,以确定其使用的截屏方式。然后,文章介绍了如何使用BitBlt接口进行hook操作,以实现拦截截屏。最后,文章提供了注入hook DLL到目标进程的方法,以实现权限管理。
这篇内容介绍了如何在Windows中编写第一个本地应用程序(Native App)
这篇文章介绍了如何使用Windows Performance Toolkit(WPT)来分析Windows系统的启动过程。WPT包括Windows Performance Recorder(WPR)和Windows Performance Analyzer(WPA)两个工具,用于记录和分析性能数据。通过WPR记录性能场景为开机,然后使用WPA打开记录的ETL文件进行分析。文章还提到了一些注意事项,例如如果遇到0x80070032错误,可以安装WPA Preview来解决。最后,文章介绍了如何在WPA中查看启动过程中的进程启动顺序和其他相关信息。
在64位的Windows系统中,有一个神秘的文件夹叫做"Sysnative",它在Explorer中无法访问,但在兼容32位应用的情况下扮演重要角色。在64位系统上,一些32位应用需要访问特殊文件夹,例如System32,但直接访问会被重定向到SysWOW64文件夹。为了解决这个问题,可以使用"SysNative"虚拟文件夹,允许32位应用访问64位文件。这个特殊文件夹对于兼容性很重要,因为它允许32位应用与64位应用交互。
这篇内容介绍了内存管理的相关概念。首先,它解释了物理内存和虚拟内存的区别,以及它们的状态和管理方式。物理内存包括不同状态的页面,如使用中、空闲、已修改等。虚拟内存则是每个进程的私有地址空间,包括代码、数据等。文章还提到了一些工具,如任务管理器、Process Explorer、VMMap、RAMMap和Windbg命令,可以用于监控内存使用情况。最后,文章提到了一些性能计数器,如Write Copies/Sec,用于评估写入时复制的错误速率。总之,这篇文章提供了有关内存管理的详细信息,以及如何监控和调试内存使用的工具和技巧。
这篇内容讲述了在Windows操作系统中挂起和恢复线程的过程。挂起线程通过插入一个APC(异步过程调用)来阻止线程执行,然后等待SuspendCount变为0才会继续执行。恢复线程则是通过发送信号量和调用相关函数来唤醒线程,最终等待CPU调度。整个过程涉及到多个内核函数和数据结构的操作,以实现线程的挂起和恢复。
这篇内容主要讲述了如何创建一个进程,分为用户态和内核态两部分。在用户态,通过一系列方法如CreateProcess、CreateProcessAsUser等,确定进程的参数和标志。然后在内核态,通过NtCreateUserProcess创建用户模式的进程。进程创建过程包括参数转换、打开要执行的镜像文件、创建进程对象等步骤。其中还提到了镜像劫持(IFEO)的原理,可以通过注册表实现打开一个进程时实际运行另一个进程。总体来说,文章详细介绍了创建进程的流程和相关细节。
讨论了在Windows内核编程中如何进行多线程同步。它介绍了一些常用的同步原语,包括互锁操作、分发器对象、互斥量、快速互斥量、信号量、事件、执行体资源、自旋锁等。这些原语用于确保多线程之间的协调工作,以避免竞争条件和死锁。需要注意的是,不同的同步原语适用于不同的情况,选择正确的原语对于编写高效的多线程代码非常重要。
这篇内容讨论了在Windows操作系统中如何使用APC(异步过程调用)来实现异步操作。它介绍了在Win32 API中使用ReadFileEx函数来演示APC的用法,并解释了在内核层面如何处理APC。文章还提到了用户APC和内核APC之间的区别,并详细描述了在内核模式和用户模式之间切换时如何执行用户APC。 总结来说,这段内容主要讨论了Windows操作系统中的APC机制以及如何在用户层调用ReadFileEx等函数来实现异步操作。它还解释了APC的执行时机和处理方式。
这篇文章介绍了Windows操作系统的启动过程,分为加载内核、内核初始化和应用程序初始化三个部分。启动过程概览涵盖了两种方式:传统的BIOS和UEFI。文章详细解释了BIOS的加载过程,包括POST、Bootstrap Loader、BIOS和CMOS Setup。然后介绍了NT内核的加载,包括实模式和保护模式下的操作。最后,提到了从系统分区读取boot.ini文件和检查hiberfil.sys文件的步骤。这些内容有助于了解Windows启动过程和系统结构。
这篇内容介绍了在Windows上开始使用驱动程序的一些基本知识。它包括了从用户模式(R3)到内核模式(R0)的API调用示例,以及如何创建和调试驱动程序。文章还提到了与驱动程序开发相关的一些概念,如IRP(I/O Request Packet)和不同的驱动程序开发框架(如WDM、KMDF、UMDF等)。最后,文章提到了一些准备工作和安装驱动程序的步骤,以及如何进行符号配置和源代码调试。
这篇内容是关于Windows中可执行方法的通用格式定义的说明 。 通用格式由三部分组成:Prefix(前缀) 、 Operation(操作) 、 Object(对象) , 它们用于描述方法的内部组件 、 行为以及要操作的对象或资源 。 常见的前缀包括Alpc 、 Cc 、 Cm 、 Csr等 , 用于表示不同的组件或模块 。 这个格式用于定义Windows中各种方法的结构和行为方式 。