由windbg断kernel32下的函数

由windbg断kernel32下的函数。
前提条件,假如windbg正在调试一台虚拟机,现在要查看一个kernel32函数的调用过程,
那么,ctl+break断下windbg,取得控制权;
此时,bp virtualAlloc等其他kernel32下的函数,是无法下断的,因为windbg现在处于内核态进程。

切换方法。

<1> !process -1 0 ;查看当前进程
PROCESS 80552b80 SessionId: none Cid: 0000    Peb: 00000000 ParentCid: 0000
    DirBase: 00a8f000 ObjectTable: e1000cc0 HandleCount: 186.
    Image: Idle


<2> !process 0 0 ;查看系统当前的所有进程,找到一个用户态进程,比如explorer.exe


PROCESS 81f4b510 SessionId: 0 Cid: 05d0    Peb: 7ffd4000 ParentCid: 05a0
    DirBase: 079c01c0 ObjectTable: e16de670 HandleCount: 261.
    Image: EXPLORER.EXE


<3> .process -i 81f4b510 (用户态进程eprocess地址)

提示如下:
You need to continue execution (press 'g' <enter>) for the context
to be switched. When the debugger breaks in again, you will be in
the new process context.

<4> g 输入命令:g,回车,切换到用户态进程

<5> .reload /f ;重新加载符号,这里主要是加载用户态符号

    lm ;查看加载的模块

然后对需要跟踪的函数下断

bp CreateFilew ;注意,不能对CreateFile下断,所有对CreateFile的调用,编译时根据工程类型替换成w,a型函数。
bp VirtualAlloc 等

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值