记一次无法关闭的弹窗
通过一个卸载掉弹窗的应用,重启后还会出现的例子来说明如何找到问题应用的过程,以及发现 wpbbin.exe 和 WPBT 机制的过程
通过一个卸载掉弹窗的应用,重启后还会出现的例子来说明如何找到问题应用的过程,以及发现 wpbbin.exe 和 WPBT 机制的过程
ETW是Windows操作系统提供的跟踪工具,可以记录应用程序和驱动程序产生的事件。它支持高速记录、故障排查和性能分析等功能。ETW的控制由控制器实现,提供事件的是提供商,而请求监听事件的是消费者。学习ETW可用于分析系统行为,包括故障排查和性能影响因素排查。
这篇文章介绍了在Windows系统上的Dump文件类型,分为内核模式和用户模式。内核模式包括完全内存转储、核心内存转储、小内存转储、自动内存转储和活动内存转储。而用户模式则有完整用户模式转储和小型转储。不同类型的Dump文件大小、包含的信息和用途各不相同,可以用于系统和应用程序的故障分析与诊断。
这段内容讲述了如何使用PowerShell对脚本文件进行数字签名,以确保脚本的完整性和安全性。首先,需要导入数字证书,并使用Set-AuthenticodeSignature命令对脚本进行签名。签名时最好加上时间戳以防止签名过期。另外,还介绍了如何验证文件是否已签名,可以通过get-authenticodeSignature命令或查看文件属性的数字签名来进行验证。签名后,文件内容不能被更改,否则签名状态会变为HashMismatch。
这篇内容介绍了如何在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位应用交互。
这篇文章讨论了在 Windows 中预装应用程序并进行分发的两种方法。第一种方法是使用GHOST分发,需要先在物理机上配置并安装Windows,然后通过备份工具如Norton Ghost、Acronis True Image等来创建系统备份镜像。第二种方法是直接修改Windows镜像,可以使用工具如NTLite来加载ISO文件并添加预装软件,然后生成新的ISO文件进行分发。GHOST分发需要走完Windows的安装流程,而直接修改ISO则避免了这一步骤,但需要一些上手成本。
这篇文章介绍了如何从头开始使用Windbg调试Windows服务。首先,作者提到了设置注册表项,以使Windows在启动服务时自动启动Windbg来进行调试。其次,作者建议延长服务的超时时间,以便有足够的时间进行调试。最后,对于一些复杂的服务,例如svchost.exe中包含多个服务的情况,作者解释了如何将特定服务隔离到单独的svchost.exe进程中进行调试。这些步骤有助于开发人员更有效地调试Windows服务。
本文介绍了在驱动开发调试过程中如何使用 DebugView(DbgView.exe)来查看输出。首先需要下载 Sysinternals Suite 中的 DbgView.exe 工具,然后在注册表的 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 下增加一个 Debug Print Filter 的键,并设置其值为 8。对于 Windows Vista 及之后的系统,需要进行重启。在打开 DbgView.exe 时,需要使用管理员权限,并在 Capture 中勾选 Capture Kernel 以查看驱动的输出信息。在驱动中,可以使用 KdPrint 宏来打印输出,需要注意 KdPrint 后面会跟两层括号。如果没有打印输出,可能是因为内核调试输出未开启,可以通过命令 "ed nt!Kd_DEFAULT_MASK 0xffffffff" 来开启。
这篇内容介绍了内存管理的相关概念。首先,它解释了物理内存和虚拟内存的区别,以及它们的状态和管理方式。物理内存包括不同状态的页面,如使用中、空闲、已修改等。虚拟内存则是每个进程的私有地址空间,包括代码、数据等。文章还提到了一些工具,如任务管理器、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内存分析检查清单的摘要。它包括了在分析Windows系统问题时需要考虑的各种方面,包括符号服务器、内部数据库搜索、操作系统信息、应用程序信息、线程信息、堆栈跟踪、蓝屏分析等。这份清单可以帮助分析人员识别和解决Windows系统的故障和问题。
这篇内容是关于Windows中可执行方法的通用格式定义的说明 。 通用格式由三部分组成:Prefix(前缀) 、 Operation(操作) 、 Object(对象) , 它们用于描述方法的内部组件 、 行为以及要操作的对象或资源 。 常见的前缀包括Alpc 、 Cc 、 Cm 、 Csr等 , 用于表示不同的组件或模块 。 这个格式用于定义Windows中各种方法的结构和行为方式 。