nt4源代码分析
文章平均质量分 80
sitelist
这个作者很懒,什么都没留下…
展开
-
win2003_prepatched_v6b有效期到2021年4月2日,所以编译win2k3会有错误
openssl 查看证书pfx过期时间win2003_prepatched_v6b有效期到2021年4月2日,所以编译win2k3会有错误要使用OpenSSL查看PFX(也称为PKCS#12)证书的过期时间,你可以使用以下命令:openssl pkcs12 -in your_certificate.pfx -nokeys -passin pass:YourPassword | openssl x509 -noout -dates原创 2024-09-08 21:36:37 · 374 阅读 · 0 评论 -
编译win2k3简易教程(20240910教师节)
https://www.123pan.com/s/sJJPjv-IvuKh.htmled2k://|file|en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso|617756672|2A30BB63730F7887E1AC54363A8489C2|/原创 2024-09-08 20:25:39 · 317 阅读 · 0 评论 -
BaseThreadStart代码分析
在线程创建的时候,系统会把CreateThread传递进来的线程运行函数和参数一次压栈,同时会把一个为称为BaseThreadStart的未文档化(和未输出)的函数的地址放入IP寄存器中,当线程初始化完成并处于可以运行状态时,BaseThreadStart函数就会被执行,当新线程执行BaseThreadStart函数时,将会出现下列情况:• 在线程函数中建立一个结构化异常处理(S E H)帧,这样,在线程执行时产生的任何异常情况都会得到系统的某种默认处理(关于结构化异常处理的详细说明参见第2 3、原创 2024-09-05 18:24:58 · 359 阅读 · 0 评论 -
xxxSendMessageBSM函数分析
BSM的意思:Broadcast Special Message原创 2024-09-03 17:14:54 · 549 阅读 · 0 评论 -
xxxDWP_SetCursor函数分析
xxxDWP_SetCursor函数分析原创 2024-09-03 11:06:24 · 317 阅读 · 0 评论 -
xxxRealInternalGetMessage分析之While循环分析----干货
xxxRealInternalGetMessage分析之While循环分析----干货原创 2024-09-02 10:49:20 · 860 阅读 · 0 评论 -
揭秘gapfnScSendMessage数组大部分都是NtUserMessageCall
揭秘gapfnScSendMessage数组大部分都是NtUserMessageCallclient/clmsg.c里面的RealDefWindowProcWorker函数里面大量调用了CsSendMessage函数第一部分B:client/usercli.h文件里有CsSendMessage函数的宏定义#define CsSendMessage(hwnd, msg, wParam, lParam, xParam, pfn, bAnsi) \ (((msg) >= WM原创 2024-08-31 20:51:07 · 366 阅读 · 0 评论 -
windows消息机制之HMIsMarkDestroy宏定义的理解
windows消息机制之HMIsMarkDestroy宏定义的理解原创 2024-08-29 17:09:15 · 852 阅读 · 0 评论 -
xxxInitInput函数和RIT线程的关系【原创】
xxxInitInput函数和RIT线程的关系第一部分:调用栈,在winlogon.exe执行。KeWaitForSingleObjecInitCreateSystemThreadsMsgxxxInitInput作用范围:在winlongon.exe执行。 /* * Create the RIT and let it run. */代码里面的一句,我们得信。但是如何让它run,得到csrss中。原创 2024-08-24 10:25:08 · 282 阅读 · 0 评论 -
InputApc()函数是如何调用ProcessKeyboardInput()函数的?
InputApc()函数是如何调用ProcessKeyboardInput()函数的?原创 2024-08-20 19:05:05 · 918 阅读 · 0 评论 -
设备驱动里面调用了IoCallDriver()函数
设备驱动里面调用了IoCallDriver()函数文件位置:Win2K3/drivers/input/mouser/io.cSerialMouseReadComplete ()函数和SerialMouseStartRead ()函数原创 2024-08-17 12:05:13 · 821 阅读 · 0 评论 -
IRP的结构
因此,唯一可以使用Not I/O的驱动程序是直接从I/O管理器输入的驱动程序,上面没有中间驱动程序,并且可以在调用过程的上下文中处理(通常是完成)I/O操作。因此,对于指向两个驱动程序堆栈的I/O请求,I/O管理器将尝试使用具有三个I/O堆栈位置的IRP后备列表中的一个IRP。然而,它可以被任何类型的驱动程序使用,这些驱动程序希望在用户缓冲区和外围设备之间直接传输数据,而不需要重新拒绝数据的开销(就像缓冲区I/O的情况一样),也不必在调用过程的上下文中执行传输(就像两者都没有I/O的情况那样)。原创 2024-08-17 06:54:40 · 445 阅读 · 0 评论 -
IopfCompleteRequest函数代码分析
·确定此I/O请求是否是一个要在发起者线程环境中完成的同步I/O,若是,则IopfCompleteRequest 函数立即返回,而由该I/O请求的发起者来完成它。在这种情况下,当前线程必定是发起者线程,因而可以避免使用APC机制来通知完成,从而消除了由APC机制带来的额外开销(包括软中断、处理器的线程切换等)。注意,发起者线程需要调用IopCompleteRequest函数,以进一步完成此I/O请求,读者可以参考IopSynchronousServiceTail函数中IoCallDriv原创 2024-08-15 22:19:47 · 534 阅读 · 0 评论 -
Csrss.exe初始化源代码分析
Csrss.exe初始化源代码分析原创 2024-08-13 20:58:56 · 715 阅读 · 0 评论 -
Kernel和Driver可以通过DbgPrint或DbgPrintEx打log
Windows内核并不会把Kernel log用UART输出,而是通过系统服务(int 2dh)的方式输出。DbgPrint --> vDbgPrintExWithPrefixInternal --> DebugPrint --> DebugService原创 2024-08-12 21:38:30 · 592 阅读 · 0 评论 -
win32k.sys模块加载前传
win32k.sys模块加载前传原创 2024-08-12 20:07:22 · 591 阅读 · 0 评论 -
PsConvertToGuiThread 函数源代码分析
·调用win32k.sys注册的出调函数PspW32ProcessCallout。Windows子系统为它的进程维护了一套平行的数据结构,进程对象EPROCESS中的Win32Process域指向Windows子系统分配的进程数据结构。PspW32ProcessCallout函数创建此进程结构,并调用内核的PsSetProcessWin32Process函数,将其设置到执行体进程对象中;然后,若有必要,则初始化此进程结构,并执行GDI初始化。·将线程的ServiceTable域切换到指向原创 2024-08-11 19:33:23 · 497 阅读 · 0 评论 -
Win32k.sys 初始化代码分析by_sitelist_20240811_七夕+1
Win32k.sys 初始化代码分析by_sitelist第一部分路径和代码:win32k.sys的PE头中指定的入口函数DriverEntry函数第二部分路径和代码:加入一个新的SDT(服务描述符表)。base/ntos/ke/miscc.c:716:KeAddSystemServiceTable(第三部分路径和代码:向内核注册一组出调函数,以便内核在适当时候调用这些出调函数。Win2K3/base/ntos/ps/psquery.c:4123:PsEstablishWin32C原创 2024-08-11 17:30:49 · 855 阅读 · 0 评论 -
_KiSystemServiceRepeat函数在_KiSystemService 函数里面
_KiSystemServiceRepeat:_KiServiceExit2是两个非常重要的符号。原创 2024-08-09 19:45:54 · 821 阅读 · 0 评论 -
_KiFastCallEntry函数的作用是运行_KiSystemServiceRepeat函数
_KiFastCallEntry函数的作用是运行_KiSystemServiceRepeat函数原创 2024-08-09 19:39:20 · 440 阅读 · 0 评论 -
KiLoadFastSyscallMachineSpecificRegisters函数的作用和sysenter指令的作用
KiLoadFastSyscallMachineSpecificRegisters函数的位置是。加载用于支持快速系统调用/返回的MSR。在所有处理器上运行。原创 2024-08-09 19:20:58 · 262 阅读 · 0 评论 -
深入理解Win32K.sys的工作原理
Win32K在操作系统中的位置: Win32K.sys位于内核层,与用户模式下的多个组件进行交互。此外,其他如Imm32.dll(输入法支持)、MsImg32.dll(图形图像支持)、d3d8thk.dll(DirectX调用)以及各种驱动程序,如键盘驱动,都会与Win32K进行通信。总结来说,Win32K.sys作为Windows内核的重要部分,负责GUI的管理和交互,提供丰富的入口点供用户模式调用,并通过精心设计的内存管理和线程转换机制保证系统的稳定性和安全性。原创 2024-08-07 20:43:32 · 521 阅读 · 0 评论