`
yexin218
  • 浏览: 958158 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Vmware+Windbg调试示例

阅读更多

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是你安装时自定义的服务名字)。

然后在你的主机上,配置调试信息:

  1. 配置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
  2. 配置Source search path[假设文件放在C:\Users\Admin\Desktop\first]: C:\Users\Admin\Desktop\first
  3. 然后在命令行中输入:.reload
  4. 打开源文件:Ctrl+O
  5. 开始在GuestOS 中执行:net start first, 会发现整个GuestOS不动了,因为windbg在你设置的断点处开始调试。

     
  6. 然后你可以F10一步一步调试,另外F9还可以设置断点,还没有弄明白~ 先到这里。

     

     

     
  • 大小: 100.3 KB
分享到:
评论

相关推荐

    Windows驱动开发技术详解的光盘-part1

    非常容易上手,用实例详细讲解PCI、USB、虚拟串口、虚拟摄像头、SDIO等驱动程序的开发,归纳了多种调试驱动程序的高级技巧,如用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析...

    windows驱动开发技术详解-part2

    用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析Windows驱动 开发的本质。 本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技 巧...

    寒江独钓-Windows内核安全编程(高清完整版).part1

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part7

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part2

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part4

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part6

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part5

    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 ...

    寒江独钓-Windows内核安全编程(高清完整版).part3

    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 ...

    补丁模块(带源码)InlinePatch,Hook,内存DLL注入等等

    可放在程序运行的第一个函数 被调试返回真 .子程序 AntiODMenu, 逻辑型, 公开, 这个效果较好,推荐用这个;找到OD相关句柄返回真, 此函数枚举窗口通过菜单名来 判定是否OD窗口。 .子程序 AntiStrongOD, 逻辑型, ...

    Windows内核安全与驱动开发光盘源码

    1.3.1 下载和安装WinDbg 9 1.3.2 设置Windows XP调试执行 9 1.3.3 设置Vista调试执行 10 1.3.4 设置VMware的管道虚拟串口 11 1.3.5 设置Windows内核符号表 12 1.3.6 实战调试first 13 第2章 内核编程环境及其...

    Windows内核安全驱动开发(随书光盘)

    1.3.1 下载和安装WinDbg 9 1.3.2 设置Windows XP调试执行 9 1.3.3 设置Vista调试执行 10 1.3.4 设置VMware的管道虚拟串口 11 1.3.5 设置Windows内核符号表 12 1.3.6 实战调试first 13 第2章 内核编程环境及其...

Global site tag (gtag.js) - Google Analytics