Windbg Preview调试分析CreateToolhelp32Snapshot

进程隐藏的时候并没有对CreateToolhelp32Snapshot进行Hook,而是Hook了ZwQuerySystemInformation,写了一个调用CreateToolhelp32Snapshot显示进程的小程序,分析一下,顺便了解下Windbg Preview怎么用.

1.
应用商店搜索Windbg Preview下载,界面比原来的版本好看很多,而且也有更多地功能区,各种方便,推荐使用这个!,调试内核的时候好像是要用管理员权限打开才行。
UI

TIPS
如果没有下载pdb文件需要提前下载,且需要去环境变量里面设置pdb目录,具体百度普通版Windbg的环境变量设置教程

2.
文件——打开EXE文件(taskmgr.exe 后面附其源码)———-自动断下————但是断下的地方不是程序的EP处,而是ntdll内,所以我们需要手动到EP代码处
断下
输入: !dh taskmgr 查看taskmgr的PE结构

File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
    8664 machine (X64)
       6 number of sections
5B0982F3 time date stamp Sat May 26 23:53:23 2018

       0 file pointer to symbol table
       0 number of symbols
      F0 size of optional header
      22 characteristics
            Executable
            App can handle >2gb addresses

OPTIONAL HEADER VALUES
     20B magic #
   14.14 linker version
    1600 size of code
    2400 size of initialized data
       0 size of uninitialized data
    184C address of entry point                     //入口点偏移
    1000 base of code
         ----- new -----
..........................

在OPTIONAL HEADER VALUES中的address of entry point属性处标识了入口点偏移(RVA)
所以 EP代码地址=taskmgr基址+184C
输入 g taskmgr+184C
成功进入EP代码处
EP

3.
因为有PDB文件所以直接输入 bp taskmgr!main 再g就来到了main函数处
找到
00007ff64254108c ff156e1f0000 call qword ptr [taskmgr!_imp_CreateToolhelp32Snapshot (00007ff642543000)]
跟过去,步入函数KERNEL32!CreateToolhelp32Snapshot:
1
再输入 BP ntdll!ZwQuerySystemInformation 给ZwQuerySystemInformation下断防止跑飞

仔细跟踪发现在KERNEL32!CreateToolhelp32Snapshot+0x103处有一句
call KERNEL32!ThpCreateRawSnap 跟进
发现在KERNEL32!ThpCreateRawSnap+0xcb出调用了
KERNEL32!_imp_NtQuerySystemInformation
key
跟入,找到ZwQuerySystemInformation
2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值