首页
论坛
课程
招聘
[原创]双机调试应用层程序
2018-8-24 11:08 3269

[原创]双机调试应用层程序

2018-8-24 11:08
3269

#如何双机调试应用层程序

 

##0. 环境配置

工具:windbg, virtualkd
windbg与virtualkd均已支持xp, win7, win8, win8.1, win10
说明windbg中以$$为注释符号

  1. 安装windbg, virtualkd

  2. 本地运行virtualkd目录下的vmmon64(目标机器64位系统)或者vmmon(目标机器32位系统)

  3. Debugger path选择windbg的路径,根据目标机器位数选择windbg x64或者windbg x86

  4. 拷贝virtualkd安装目录下的target文件夹到虚拟机

  5. 在虚拟机执行vminstall.exe,重启虚拟机

  6. 重启时会自动附加windbg,此时windbg会自动断下来,下面去设置符号

##1. 设置符号
Windbg中 File-Symbol File Path中填写

cache*D:\Symbols;srv*http://msdl.microsoft.com/download/symbols

路径根据自己添加,会把符号从微软的服务器下载下来,保存到本地的路径中

.reload /f $$加载符号

lml $$查看已经加载的符号路径

 

符号设置好了后,就能够调试内核模块了。下面去看看如何调试应用层程序。
F5,windbg运行起来,等待开机。

 

##2. 双机调试应用层程序

以调试explorer.exe为例

 

使用以下方式都可以中断于Windbg中

1. Windbg中按Ctrl+Break
2. 点击Windbg菜单的Debug-Break
3. 点击Windbg工具条的Break按钮
3. 在虚拟机按Print键(貌似这个方法是VirtualKd 独有的)

查看explorer.exe的PROCESS信息

2: kd> !process 0 0 explorer.exe
PROCESS fffffa803394e6c0
    SessionId: 1  Cid: 0a20    Peb: 7fffffd5000  ParentCid: 09fc
    DirBase: 69c8d000  ObjectTable: fffff8a002978a50  HandleCount: 644.
    Image: explorer.exe

 

切换到explorer.exe进程

$$切换到explorer.exe进程
2: kd> .process /i /p fffffa803394e6c0 
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.

$$查看context, 非必需步骤
2: kd> .context 
User-mode page directory base is 187000

$$运行,会自动在explorer.exe的进程空间断下来
2: kd> g  
Break instruction exception - code 80000003 (first chance)
nt!RtlpBreakWithStatusInstruction:
fffff800`03e91490 cc              int     3

$$加载explorer.exe符号
3: kd> .reload /f /user  
Loading User Symbols
...............

 

lml查看加载的模块,可以看到符号全部已经加载完成

 

 

查看explorer主模块的信息

3: kd> lmDvm explorer
Browse full module list
start             end                 module name
00000000`ff1c0000 00000000`ff480000   Explorer   (pdb symbols)          d:\symbols\explorer.pdb\3C101D6D52BF474AB0D78F10B8FE89452\explorer.pdb
    Loaded symbol image file: Explorer.EXE
    Mapped memory image file: d:\symbols\Explorer.EXE\4CE7A1442c0000\Explorer.EXE
    Image path: C:\Windows\Explorer.EXE
    Image name: Explorer.EXE
    Browse all global symbols  functions  data
    Timestamp:        Sat Nov 20 18:21:56 2010 (4CE7A144)
    CheckSum:         002C23DE
    ImageSize:        002C0000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4


[公告]请完善个人简历信息,招聘企业等你来!

收藏
点赞2
打赏
分享
最新回复 (1)
雪    币: 1609
活跃值: 活跃值 (372)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
黑手鱼 活跃值 3 2018-8-24 15:28
2
0
正好需要这个东西
游客
登录 | 注册 方可回帖
返回