Vmware+Windbg调试环境配置,请参考VMware+Windgb+Win7内核驱动调试。测试程序来自《内核安全编程》第一个例子。
///
/// @file first.c
/// @author crazy_chu
/// @date2008-11-1
///
#include <ntddk.h>
// Unload function
VOID DriverUnload(PDRIVER_OBJECT driver)
{
// Do nothing just print one sentence
DbgPrint("Our driver is unloading¡\r\n");
}
// DriverEntry¡£
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
#if DBG
_asm int 3//break point
#endif
DbgPrint("Hello, Welcome to Yexin218.iteye.com");
// set unload function
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
首先编译后,把sys文件拷贝到GuestOs 中,并且使用srvinstw安装(详细请参考)。安装好之后先不要执行,net start first (first是你安装时自定义的服务名字)。
然后在你的主机上,配置调试信息:
- 配置sympath,C:\Users\Admin\Desktop\first\objchk_win7_x86\i386是你编译好的sys目录: SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols;C:\Users\Admin\Desktop\first\objchk_win7_x86\i386
- 配置Source search path[假设文件放在C:\Users\Admin\Desktop\first]: C:\Users\Admin\Desktop\first
- 然后在命令行中输入:.reload
- 打开源文件:Ctrl+O
- 开始在GuestOS 中执行:net start first, 会发现整个GuestOS不动了,因为windbg在你设置的断点处开始调试。
- 然后你可以F10一步一步调试,另外F9还可以设置断点,还没有弄明白~ 先到这里。
- 大小: 100.3 KB
分享到:
相关推荐
### VMware + Windgb + Win7 内核驱动调试知识点总结 #### 一、概述 本文主要介绍了如何在特定环境下配置并使用 VMware + Windgb + Win7 进行内核驱动程序的调试。这对于开发和测试操作系统内核级别的软件非常有用...
本教程将详细介绍如何使用Windbg在虚拟机环境下调试USB驱动,特别是通过Vmware进行双机调试的步骤。 首先,我们需要安装必要的工具和编译环境。Visual C++ 6.0(英文版)作为基础,接着安装Windows Driver Kit (WDK...
但是,通过VMware虚拟化技术,我们可以实现在单机上使用WinDbg进行调试,极大地提高了工作效率。 首先,我们需要了解VMware如何支持WinDbg的调试功能。自4.0.18.0版本起,VMware支持通过管道(pipe)进行调试,尽管...
调试过程类似于WinDbg,可以在特定函数(如DriverEntry)处设置断点,并通过Go命令执行程序。 总的来说,驱动开发和调试涉及的知识点涵盖了开发环境的搭建、驱动项目的创建和编译、虚拟机和调试器的配置以及源码...
Vmware+Windgb调试示例 - **示例内容**:具体演示如何使用Windgb在VMware虚拟机中调试内核驱动。 - **实践意义**:有助于理解调试流程,提高调试效率。 #### 20. Filter发送OID请求[解决蓝屏] - **OID**(Object...
- **调试工具**: 利用DriverStudio中的调试工具或Windbg等专业工具进行调试。 - **最佳实践**: 建议在虚拟机中进行调试,以防意外损坏主机系统。 ### 结论 构建一个稳定的Windows内核驱动开发环境需要细心规划和...
- **远程调试**:支持通过串口、FireWire、USB2.0 或 VMWare 扩展进行远程调试。 - **WinDbg**:CDB、NTSD 和 KD 的图形前端,支持即时和后验调试。 通过上述分析,我们可以看到 Windows 系统中 Crash Dump 分析...
非常容易上手,用实例详细讲解PCI、USB、虚拟串口、虚拟摄像头、SDIO等驱动程序的开发,归纳了多种调试驱动程序的高级技巧,如用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析...
用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析Windows驱动 开发的本质。 本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技 巧...
- 安装Windbg等调试工具,并正确配置。 - **步骤二**:加载符号表 - 下载官方驱动补丁,例如通过微软目录更新网站获取。 - 使用Windbg命令行工具加载符号表: ```plaintext SRV*D:\mysymbol*...
在调试NDIS驱动程序时,经常利用WinDBG与VMware的组合来调试内核。这要求开发者熟练配置调试环境,包括Windbg和Vmware,以便对驱动程序进行单步跟踪和断点调试。在某些情况下,还需要处理特定的编译问题,例如在...
对于想要深入了解设备驱动程序攻击的研究人员,文档推荐了搭建一个实验环境,包括一台配置足够的电脑、虚拟机软件(如Vmware)、调试工具(如Windbg或Softice)、反汇编器(如IDA)等。通过在虚拟机中进行实验,可以...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...
1.3.4 设置VMWare的管道虚拟串口 11 1.3.5 设置Windows内核符号表 13 1.3.6 实战调试first 14 练习题 16 第2章 内核编程环境及其特殊性 17 2.1 内核编程的环境 18 2.1.1 隔离的应用程序 18 2.1.2 共享的内核空间 19 ...