• 系统热键分析 TWO 取热键对应的进程名


    又是系统热键分析,静静的夜里分析起来,比打麻将时间过得快...
    
    typedef struct tagHOTKEY {
        W32THREAD pti;    <-- W32THREAD
        PWND    spwnd;
        WORD    fsModifiers; // MOD_SHIFT, MOD_ALT, MOD_CONTROL, MOD_WIN
        WORD    wFlags;      // MOD_SAS
        UINT    vk;
        int     id;
        struct tagHOTKEY *phkNext;
    } HOTKEY, *PHOTKEY;
    
    lkd> x /t /v /q /d win32k!gphkFirst
    pub global bf9b0bd8             0  @!"win32k!gphkFirst" = 
    
    lkd> dd /c 6 dwo(win32k!gphkFirst) L6
    e10687d8  e29749b0 bbe68840 00000006 000000c0 0000c01a e2e8c8f8
    lkd> dd /c 6 e2e8c8f8 L6
    e2e8c8f8  e29749b0 bbe68840 00000003 0000004a 0000000c e2f4cab8
    lkd> dd /c 6 e2f4cab8 L6
    e2f4cab8  e29749b0 bbe68840 00000003 000000bd 0000000b e28d4d20
    lkd> dd /c 6 e28d4d20 L6
    e28d4d20  e29749b0 bbe68840 00000003 0000004e 0000000a e2f30e98
    
    lkd> dt -v win32k!_W32THREAD
    struct _W32THREAD, 10 elements, 0x28 bytes
       +0x000 pEThread         : Ptr32 to struct _ETHREAD, 0 elements, 0x0 bytes
    
    lkd> dt -v nt!_ETHREAD
    struct _ETHREAD, 55 elements, 0x260 bytes
       +0x000 Tcb              : struct _KTHREAD, 74 elements, 0x1c0 bytes
       ...
       +0x220 ThreadsProcess   : Ptr32 to struct _EPROCESS, 107 elements, 0x260 bytes
              ^^^^^^^^^^^^^^^^^
       +0x224 StartAddress     : Ptr32 to Void
       ...
    
    lkd> dt -v nt!_EPROCESS
    struct _EPROCESS, 107 elements, 0x260 bytes
       +0x000 Pcb              : struct _KPROCESS, 29 elements, 0x6c bytes
       ...
       +0x174 ImageFileName    : [16] UChar
              ^^^^^^^^^^^^^^^^
       +0x184 JobLinks         : struct _LIST_ENTRY, 2 elements, 0x8 bytes
       ...
    
    lkd> dd win32k!gphkFirst L1   <--- 指向 gphkFirst
    bf9b0bd8  e10687d8            
    
    lkd> dd e10687d8 L1           <--- 指向 W32THREAD
    e10687d8  e29749b0            
    
    lkd> dd e29749b0 L1           <--- 指向 _ETHREAD
    e29749b0  85d64990            
    
    lkd> dd 85d64990+0x220 L1     <--- 指向 _EPROCESS
    85d64bb0  86e1db30            
    
    lkd> da 86e1db30+174          <--- 指向 _EPROCESS 的 _EPROCESS->ImageFileName
    86e1dca4  "explorer.exe"
    为了取进程名既然跳了5次...
    
  • 相关阅读:
    mysql日期默认值格式('0000-00-00')错误解决
    休闲一下-精华-IMDB评分8分左右影片400多部!
    开机动画流程
    SystemServer启动服务
    理解Android进程创建流程
    android开机动画启动流程
    Android系统的启动优化
    Android 系统启动(init,zygote)
    Zygote
    init
  • 原文地址:https://www.cnblogs.com/nlsoft/p/2999937.html
Copyright © 2020-2023  润新知