• [转]调试winlogon


    调试winlogon

    尽管winlogon也是用户模式的程序,但是它处理用户的登录、注销、以及CTRL+ALT+DELETE的操作,
    如果用一般的方法调试,一旦它切换桌面,就无法输入,无法控制调试器了。
    这里我用“虚拟机+WinDbg+系统自带ntsd”的方法调试。
    启动虚拟系统先按设置允许winlogon调试,如下:
    1、建立键值
    “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution

    Options\WinLogon.EXE\Debugger”
    使它的类型REG_SZ,值为“ntsd -d -x -g”
    2、再建立键值“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution

    Options\WinLogon.EXE\GlobalFlag”
    使它的类型REG_DWORD ,值为0x000400F0

    在调试的过程中有四种模式:用户模式调试、核心模式调试、目标应用执行模式、睡眠模式。

    从用户模式调试切换到目标应用执行模式,在提示“Input>”时用“g”命令。如果只是临时性的切换,
    就用单步进入、单步步过命令。。。
    从用户模式调试切换到睡眠模式,用“.sleep”命令。
    从用户模式调试切换到核心模式调试,用“.breakin”命令。
    在XP之后的系统,从目标应用执行模式调试切换到用户模式调试,用“!bpid <pid>”命令。
    .......

    为了直观见下图:

    这些切换模式中,我们需要的只是从提示“kd>”到提示“Input>”的转换命令,也就是“!bpid <pid>”。
    比如我的系统winlogon的PID是400,则“!bpid 400”命令就会转换到winlogon的用户模式调试。
    继续运行则“g”命令。

  • 相关阅读:
    NOIP2012 借教室
    bzoj1816 扑克牌
    TYVJ1359 收入计划
    NOIP2015 跳石头
    易错点
    散列表
    数学模板
    12. 17 哈理工网络赛
    哈理工 网络赛
    三角形
  • 原文地址:https://www.cnblogs.com/adylee/p/2959244.html
Copyright © 2020-2023  润新知