热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

kdvm源代码

还是逆向kdusb3的时候,无意中翻VirtualBox文档发现一种快速内核调试的办法,详细描述见2.31.ParavirtualizedDebugging说的是Windows8之

还是逆向kdusb3的时候,无意中翻VirtualBox文档发现一种快速内核调试的办法,详细描述见2.31. Paravirtualized Debugging
说的是Windows8之后带了一个kdvm.dll,可以利用Hyper-V的Guest Debug半虚拟化调试方式,用网络传输数据,速度很快。这个kdvm.dll可以复制到Windows7上使用。(Windows8带的kdnet.dll也能复制到Windows7上用,改动一个字节LoadOptions成员的偏移,然后修正CheckSum。能正常连接Windbg断下来单步调试什么的,但Windows7 Logo变成最大时就会死机,不知道为什么。)
因为Windows8正式版自带的kdvm.dll太复杂,我逆向的是Developer Preview带的kdvm,特别简单,有个breakin的bug我已经修复,初始化、发包、收包的逻辑参考附件中的源代码。
 
使用前要先设置VirtualBox
显示半虚拟化支持
VBoxManage.exe showvminfo "win7x86"
有下面这一行就行,如果没有就在虚拟机设置窗口设置一下半虚拟化接口
Effective Paravirt. Provider: HyperV
关闭虚拟机的情况下设置
VBoxManage.exe modifyvm "win7x86" --paravirtdebug "enabled=1,port=50001"
 
设置被调试电脑
bcdedit /set loadoptions host_ip=5.5.5.5,host_port=50001,encryption_key=9.9.9.9 (这里的IP和key没啥用,随便写,格式合法就行;port也没用,在49151-65536之间就行)
bcdedit /set dbgtransport kdvm.dll
bcdedit /set debug on
 
针对Windows2003
boot.ini文件添加/debug /debugport=COM1 /baudrate=115200 (COM几无所谓,bandrate写不写也没事)
复制kdvm.dll到system32目录下,改名成kdcom.dll (先删除dllcache目录,否则WFP会把文件覆盖回去)
 
开始调试
windbg.exe -d -k net:port=50001 (别带key命令行参数,因为kdvm没加密通信数据。如果用Windows8带的kdvm.dll则需要key参数)
 
测试版本:
VirtualBox 6.0.8 (不需要Hyper-V,VirtualBox自己实现了Hyper-V的半虚拟化接口)
WinDbg 6.12.2.633
Windows 2003 SP1 x86 和 Windows7 SP1 x86


 
下载:kdvm-win7-2k3-x86.7z
SHA1:4a8b2c4dd776086d4c9d3b5b98d23bc4a07263c6

推荐阅读
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • JNI技术实践小结转自http:sett ... [详细]
  • 作业迁移
    背景:数据库服务器更换,1、数据库迁移(BACKUPRESTORE);2、数据库登录名用户迁移(注意孤立用户);3、作业迁移数据库迁移,备份数据库、拷贝备份文件到新服务器,还原数据 ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • 方舟等级生成工具_关于方舟编译器的几个小疑问
    之前了解了一下方舟编译器,但是很粗,今天在知乎上看了各种大神关于方舟编译器的说法,其实一直以来就有几个问题,我看了知乎上的说 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 导读:今天编程笔记来给各位分享关于php动态扩展怎么加载的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • java中打开文件显示_在默认文件资源管理器中打开文件,并使用JavaFX或普通Java突出显示它...
    我想做标题所说的.部分解决方案例如,在Windows中,您可以使用以下代码在默认资源管理器中打开文件并突出显示它.(虽然它需要修改包含空格的文件):***Openst ... [详细]
  • [网页设计]新手做 网站 必备 软件。及 下载 地址~~~~(06年10月10日修订)
      1、做网站先要从策划开始msvcp71dll下载。  MicrosoftOffice2007Beta2简体中文版  M ... [详细]
  • 用户管理_用户管理的小项目
      之前学习链表数据结构的时候,写过(相信很多人都做过)dos窗口版的学生管理系统,通过输入数字来实现CURD学生的信息,顶多就是把数据写入文件来存储数据 ... [详细]
  • VisualC开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。1、在命令行执行&#x ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • d3dx9_26.dll极品飞车9修复工具下载及修复教程
    本文介绍了d3dx9_26.dll文件的修复工具下载和修复教程,解释了该dll文件的作用和安装方法,同时提供了其他dll文件下载安装的方法。文章涵盖了3d、windows、p2p、dll、visual studio等知识点,并由未来可期1212投稿。希望该技术和经验能帮到你解决dll文件相关技术问题。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
author-avatar
fhuwiop
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有