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

  • 相关阅读:
    Python 遍历文件 读取文件夹里面的所有文件
    生活 帝国霸略 辅助工具的实现
    生活 帝国霸略 更换账户登陆 电脑登陆iphone手机账户 电脑手机同步登陆
    Python 颜色检测
    Python 指定窗口截屏
    Python 图片裁剪
    Python 窗口查找
    ES5新增的数组方法
    ES5对象新增的方法
    谈谈对文档碎片的理解
  • 原文地址:https://www.cnblogs.com/sysnap/p/4973989.html
Copyright © 2011-2022 走看看