zoukankan      html  css  js  c++  java
  • 调试NTDLL加载

    1 随便切到一个进程

    0: kd> !process 0 0 explorer.exe
    PROCESS 8157e9a8 SessionId: 0 Cid: 06a4 Peb: 7ffde000 ParentCid: 0688
    DirBase: 01f401e0 ObjectTable: e1f44840 HandleCount: 341.
    Image: Explorer.EXE

    0: kd> !dlls

    0x00251f18: C:WINDOWSsystem32 tdll.dll
    Base 0x7c920000 EntryPoint 0x7c932c28 Size 0x00093000
    Flags 0x80084004 LoadCount 0x0000ffff TlsIndex 0x00000000
    LDRP_IMAGE_DLL
    LDRP_ENTRY_PROCESSED
    LDRP_PROCESS_ATTACH_CALLED 

    2 把虚拟地址转为物理地址

    0: kd> !vtop 01f401e0 0x7c932c28
    X86VtoP: Virt 7c932c28, pagedir 1f401e0
    X86VtoP: PAE PDPE 1f401e8 - 0000000003ff7801
    X86VtoP: PAE PDE 3ff7f20 - 0000000003bff867
    X86VtoP: PAE PTE 3bff990 - 0000000005c7a025
    X86VtoP: PAE Mapped phys 5c7ac28
    Virtual address 7c932c28 translates to physical address 5c7ac28.

    3 往物理地址写入断点

    0: kd> !eb 5c7ac28 cc
    0: kd> g

    ntdll!_DllMainCRTStartupForGS:
    001b:7c932c28 cc int 3
    0: kd> kvnf
    # Memory ChildEBP RetAddr Args to Child
    00 04dafc10 7c92118a 7c920000 00000002 00000000 ntdll!_DllMainCRTStartupForGS (FPO: [Non-Fpo])
    01 20 04dafc30 7c93b175 7c932c28 7c920000 00000002 ntdll!LdrpCallInitRoutine+0x14
    02 74 04dafca4 7c93afee 04dafd30 04dafd30 00b80000 ntdll!LdrpInitializeThread+0xc0 (FPO: [Non-Fpo])
    03 78 04dafd1c 7c92e437 04dafd30 7c920000 00000000 ntdll!_LdrpInitialize+0x219 (FPO: [Non-Fpo])
    04 00000000 00000000 00000000 00000000 00000000 ntdll!KiUserApcDispatcher+0x7
    0: kd> !stacks

  • 相关阅读:
    编程题目----约德尔测试
    编程题目----路灯
    java----java垃圾回收算法
    JAVA多线程和并发基础面试问答(转载)
    科学史上非常伟大的十位单身科学家
    MySQL----mysql57服务突然不见了的,解决方法
    linux:644、755、777权限详解
    Java 关键字 速查表
    java----鲁棒性
    习题----第六章 图(转)
  • 原文地址:https://www.cnblogs.com/sysnap/p/4973989.html
Copyright © 2011-2022 走看看