前言:
对于驱动开发和windows内核来说必备双机调试,PC和win笔记本 配合vmware只需要一台被调试的虚拟机即可,而且网上教程繁多。
由于macos无法安装windbg所以需要准备两台虚拟机才行,一台调试机(装windbg),一台被调试机(运行驱动)。
然而怎么把这两台虚拟机通过串口链接起来成了问题。
注意事项: 被调试机的串口配置是Server 调试机的串口配置是client (pd的不一样,连不上就反过来设置一下)
环境配置:
win7 被调试机
win10 调试机 (有windbg)
这里提前说一下
启动顺序
-
调试机启动windbg,并且连接串口
-
被调试机启动
结束顺序。
-
windbg 必须g 跑起来 不能停在断点上(被调试机的鼠标必须能操作)
-
退出windbg
-
被调试机关机
否则会出现被调试机关不了机的情况(一直转圈卡死),就只能在任务管理器结束vm的所有进程。
如果是恢复快照的话,调试机和windbg谁先启动都一样。
Parallels 下的双机调试
1、添加串口
2、新建插口 名字是 com1 (名字就这样吧,反正pc配置的时候是这个名字)
3、选择串口模式
调试机选择 :客户端
被调试机选择:服务端
(调试机 服务端 ;;;;; 被调试机:客户端 也能断下来。。。)
小插曲: 由于手速太快,把调试机恢复快照了。什么驱动环境啊,vs环境啊全没了。然后调试机串口com1的客户端被占用了,但是com1的服务端串口能用,然后把被调试机串口改成了客户端,也能被调试。就很神奇。
最开始: 调试机=com1客户端 被调试机=com1服务端 , 能调windbg能断下来
================================================================================
手残恢复调试机快照之后 : 调试机=com1服务端 被调试机=com1客户端 , 也能断下来 可以调试
4、配置客户端。
开机之后用管理员打开cmd 执行下面两条命令
bcdedit /copy {current} /d "MyOS"
bcdedit /debug ON
执行完成之后 win+r 输入 msconfig 看一下全局 调试是不是com1
然后关机
5、调试机配置windbg
6、被调试机开机(win7、win10) 会出现一个引导式访问 直接回车 (第一次开机会非常慢)
7、调试机的windbg会显示连接成功
之后点击break 就会断到内核 (断了之后先做快照)就可以调试了
8、内核断点断下来的时候(被调试机)做开机快照
也就是在屏幕上鼠标没办法点的时候,不然下次恢复快照 windbg就不一定能链接上被调试机了
VMwate Fusion 下的双机调试
1、配置文件路径
说一下这个路径在哪儿
/Users/Virtual Machines.localized/com1
com1 是串口的名称
前面这个路径是虚拟机的存储位置(在vm中右键在访达中显示的这个路径)
/Users/Virtual Machines.localized/
/Users/{username}/Virtual Machines.localized/ 通常就多个username
然后右键显示包内容找到.vmx文件 编辑
先把所有的serial0内容全部删除然后在最后添加以下内容(注意区分调试机和被调试机)
被调试机
serial0.fileName = "/Users/Virtual Machines.localized/com1"
serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.yieldOnMsrRead = "TRUE"
serial0.startConnected = "TRUE"
调试机
serial0.fileName = "/Users/Virtual Machines.localized/com1"
serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.pipe.endPoint = "client"
serial0.yieldOnMsrRead = "TRUE"
2、配置被调试机
和上面一样
开机之后用管理员打开cmd 执行下面两条命令
bcdedit /copy {current} /d "MyOS"
bcdedit /debug ON
然后先别急着重启
3、配置调试机
windbg 和上面一样
配置com
4、重启被调试机
遇到引导式访问直接回车就行,这时windbg就会收到请求。
5、断点断到内核 然后被调试机做快照
注意:win10调试win10
win10调试win10的时候 被调试机开机会出现多次断点,windbg一直g就行,直到进入桌面
进入桌面之后 断到内核然后做快照。
pc端的双机调试网上教程有很多,b站也有视频照着配置就行。
还是就是要注意关闭顺序和启动顺序,顺序不对就会被卡死, 解决不了就重启物理机。
原文始发于微信公众号(Relay学安全):Mac下的windows双机调试环境配置pd+vm
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论