2 将VMware与SoftICE基于网络的远程调试功能相结合

Q: 在VMware上安装SoftICE,总是无法正确配置显卡驱动,选择

Universal Video Driver(SoftICE appears in a "window")

测试失败。因此无法在VMware中Ctrl-D呼叫出SoftICE的屏幕。能否对VMware机进
   行基于网络的远程调试。

A: 小四 <scz@nsfocus.com> 2003-03-20 09:04

经过四个小时测试、调整,答案是肯定的。我使用VMware Workstation 3.0,其上安
装了英文版Windows XP SP1以及DriverStudio 2.7所携带的SoftICE,版本如下:

SoftICE (R) - DriverStudio (tm) 4.2.7 (Build 562)

VMWare外部机器也是英文版Windows XP SP1。下面未提与远程调试无关的SoftICE配
置。

--------------------------------------------------------------------------
1) 确认在VMware设置中只虚拟出一块物理网卡。在VMware中安装XP,是否打SP1与远
   程调试无关。

安装操作系统完成后,系统属性->硬件->设备管理器,确认只有一块物理网卡,
   并且正常工作中(无黄色问号、无红色叉号)。

进入网络属性,将与现有物理网卡关联的原有驱动程序删除。禁用(不建议删除)
   已安装协议、客户端软件、服务方软件,就是将前面复选框中的对号全部勾去不
   要。

如果不是新装XP,假设有与上述不相符的配置,比如已经虚拟出两块物理网卡,
   已经进行过TCP/IP配置,最好能重新配置一下,删除一块物理网卡、取消现有的
   TCP/IP配置。当然,你可以不改动原有配置,一般来说不会出什么问题,真出了
   问题再按我说的做也来得及。

对于真实的远程主机,如果有两块物理网卡,必须先从插槽拔下一块来,只保留
   一块物理网卡在插槽中。

2) SoftICE在\Program Files\Compuware\DriverStudio\SoftICE\Network\下提供了
   三种网卡驱动(3COM/3C90X、Intel/E100、Novell/NE2000),如果你的网卡在这三
   种驱动支持范围内,可以立即安装或更新网卡驱动,选择从磁盘安装,指定上述
   安装目录。安装驱动安成后,可以配置TCP/IP协议等等。

这个版本的VMware虚拟出来的网卡是AMD PCNET Family PCI Ethernet Adapter。

按照以前BBS流行说法,如果你的网卡不在上述三种驱动支持范围内,就无法进行
   基于网络的远程调试。总不能为了远程调试而专门换网卡吧,某些便携机的网卡
   还不是那么容易更换的。幸运的是有办法让几乎所有类型的网卡都支持基于网络
   的远程调试。执行:

\Program Files\Compuware\DriverStudio\SoftICE\Network\UND\UNDSetup.exe

在Available Device中可以看到当前物理网卡,选中它,选择收音机按钮

Use Universal Network Driver

一路确定并重启VMware中的OS。重启之后,你会发现网络属性里没有任何物理网
   卡了。事实上,无论你以前有多少块物理网卡、做过多少网络配置,都会"丢失"。
   不要慌,如果想恢复,再次执行:

\Program Files\Compuware\DriverStudio\SoftICE\Network\UND\UNDSetup.exe

在Available Device中可以看到"SoftICE network transport",选中它,选择收
   音机按钮

None

一路确定并重启VMware中的OS。重启之后,你以前设置就基本恢复了。前面我的
   建议部分出于完美主义倾向,可能不是必须的,现在你理解了么。

3) 当网络属性里没有任何物理网卡的时候,已经可以进行基于网络的远程调试。与
   "Remote Access"设置无关,将那里所有复选框中的对号全部勾掉。不要使用
   "Network Debugging"设置,据yuange说,这里处理有问题,他修改了ntice.sys。
   我没有修改ntice.sys,而是使用General->Initialization,内容如下:

faults off;set font 3;lines 43;net start 192.168.7.153 mask=255.255.255.0 gateway=192.168.7.254;net allow 192.168.7.2 auto password=123456;X;

注意,这行内容很长,GUI界面上的输入框有BUG,可能截断末尾的部分内容,此
   时可以直接编辑winice.dat文件。

VMware外部的机器IP为192.168.7.2,所以有如上设置。只设置了lines而没有设
   置width,因为后者需要"Universal Video Driver"模式,否则不可调。

虽然在VMware中Ctrl-D呼叫不出SoftICE屏幕,但实际上已经呼叫成功,可以盲打。
   因此,如果没有做如上设置或基于其它原因需要动态修改、测试时,可在VMware
   中盲打输入:

Ctrl-D
   net start 192.168.7.153 mask=255.255.255.0 gateway=192.168.7.254
   net allow any auto
   X

其中192.168.7.153就是远程SoftICE所使用的IP地址,"net allow any auto"表
   示对操作方无任何IP、口令限制,对于初次测试远程调试功能的人来说,最好使
   用这样的设置,不需要重启机器,即刻生效。

留心盲打,碰上键盘、鼠标无响应时,很可能是SoftICE被呼出来了,输入X退出
   试试,不要急于按电源重启。

4) 如果远端设置是:

net allow any auto

在VMware外部机器上执行如下命令:

\Program Files\Compuware\DriverStudio\SoftICE\siremote.exe 192.168.7.153

成功的话就会看到你熟悉的SoftICE窗口。如果远端设置了口令:

net allow 192.168.7.2 auto password=123456

在VMware外部机器上执行如下命令:

\Program Files\Compuware\DriverStudio\SoftICE\siremote.exe 192.168.7.153 21321 123456

这种远程调试使用了21321/UDP端口,123456是口令。siremote.exe有BUG,为了
   指定口令,必须指定目标端口,可我在文档中没有找到相关说明,还好老夫是折
   磨Sniffer Pro出身,对"net allow any auto/siremote.exe 192.168.7.153"通
   信过程捕包一观,才确定目标端口是21321/UDP。不过,我不敢确定你们那里也使
   用同样的端口,假设有问题,请立即捕包确定。

net start、net allow这些命令不能在远程窗口中使用,只能在本地窗口中使用,
   因此有时动态修改、测试时,需要在VMware中盲打。

为了进行基于网络的远程调试,不要求操作方启动SoftICE,siremote.exe只作为
   普通网络客户端软件出现。

5) 可以在VMware中设置如下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTice

NullVGA REG_DWORD 1(缺省为0)

其本意是,如果远程呼叫SoftICE,在被调试端看不到SoftICE窗口,否则可以看
   到。由于VMware中显卡驱动的缘故,有无这个设置都一样效果,我还是设置上了。

6) 至第5步为止,结合VMware的远程调试已经搞定。可VMware中的XP也丧失了正常的
   网络通信功能,我们需要远程调试SMB协议处理时,就完蛋了。此时有两种选择,
   第一种是通过添加新硬件安装如下虚拟设备:

\Program Files\Compuware\DriverStudio\SoftICE\Network\UND\VNIC\sivnic.inf

在重启过程中如果因VNIC出现故障,当UND驱动提示时,可按ESC,这将禁止加载
   UND、VNIC。很可怜,我还没等到重启,只是在安装过程中就出现BSOD了,连续试
   了几次都如此,不清楚是使用VMware的缘故,还是sivnic.inf本身的缘故,我没
   有试真实远程主机的情形。

理论上,如果此时安装了VNIC,就可以看到一块网卡,然后可进行TCP/IP协议配
   置等等。但是网络性能很低,这与是否使用VMware无关,即便真实的远程机器也
   如此。

另一种办法是真实添加一块物理网卡。对于VMware来说,需要关闭当前XP,关闭
   电源,回到初始界面,然后在配置中增加一块物理网卡。对于真实的远程主机,
   就需要打开机箱插入新网卡了。注意,安装UND时会导致以前所有配置"丢失",包
   括物理网卡,因此一些操作顺序尤其重要。VMware以前有两块物理网卡,安装UND
   后丢失,不太影响什么,可以继续增加物理网卡。真实远程主机就不同了,不大
   可能有第三个插槽给你插第三块物理网卡,现在明白步骤1中所说了吧。

现在在网络属性里可以看到惟一一块网卡了,就是新增加上来的那块,然后进行
   正常的TCP/IP协议配置,不要使用192.168.7.153,这是SoftICE使用的IP地址,
   比如可以使用192.168.7.152。有些网络设置是全局设置,比如TCP/IP筛选,如果
   修改,可能会影响包括"那些丢失的网卡"在内的所有网卡,结果未知,所以不建
   议修改这些全局设置。此外还有一处古怪,即使没有选择"自动获得IP地址",而
   是配置静态固定IP,重启后在网络属性里看到的还是"自动获得IP地址",不过这
   是假像,最好在CMD中执行"ipconfig /all"命令,可以看到:

Dhcp Enabled. . . . . . . . . . . : No
   IP Address. . . . . . . . . . . . : 192.168.7.152
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.7.254

在注册表中也只看到一个网络接口,并且配置了静态固定IP:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

虽然"自动获得IP地址"是假像,但你要修改什么的话,还是需要从头走一遍,除
   非你直接去注册表中修改。无论如何,都需要重启,而本来XP下修改这些东西不
   需要重启的。

现在我们的VMware既具有正常的未降低性能(与VNIC相比)的网络功能,又支持基
   于网络的远程调试功能,爽。

7) UND、VNIC的卸载顺序很重要,一定要先通过删除设备卸载VNIC,再执行
   UNDSetup.exe卸载UND,和安装顺序正好相反,不要混了。

如果安装VNIC过程中出现BSOD,也去设备管理器中查看一下,删除半安装状态的
   VNIC,以免影响UND。

从上述文字看出,有两块物理网卡的真实远程主机无论如何都可以支持基于网络
   的远程调试。影响性能的方式只有一种,就是VNIC,其它两种方式都不影响性能。
   不再局限于3COM/3C90X、Intel/E100、Novell/NE2000。

如果使用VMware,更方便。

8) 在设备管理器中,System devices->SoftICE network transport,该设备占用了
   中断请求15。我的测试环境中,Secondary IDE Channel也占用中断请求15,前者
   会抢占成功,于是后者出现黄色问号,无法启动。如果VMware的光驱的接在
   IDE 1:0上,就无法使用光驱,此时可以将光驱换接在IDE 0:1上,即Primary IDE
   Channel的从盘,与主盘一起使用中断请求14,光驱恢复正常。
--------------------------------------------------------------------------

上述就是VMware+SoftICE完美解决方案的配置过程,中间省略了一些与远程调试无关
的配置步骤。

SoftICE使用(2)-网络远程调试zz xfocus相关推荐

  1. java计算机毕业设计网络教育学习平台源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计网络教育学习平台源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计网络教育学习平台源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S ...

  2. 一种通过MQTT Broker实现远程调试、创建网络隧道的解决方案

    前言 先说一下场景需求: 1.远程ssh访问设备,但是设备端不具备公网访问能力. 2.物联网采集网关,通过4G连接外网,网关部署在项目现场,我们不知道网关的IP,就算知道,网络链路也不通.对于网关的远 ...

  3. java计算机毕业设计网络教学系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计网络教学系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计网络教学系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S架构 开 ...

  4. APP远程调试及网络自动化测试

    一:优测 腾讯旗下的测试服务 http://utest.qq.com/ 二:云测 http://www.testin.cn/ 三:testbird 1.进入这个网站,注册并且登录 https://dt ...

  5. zend studio 远程调试 php

    ZendStudio配置SFTP:结合Zend Debugger进行php代码的远程调试 2012-12-24 09:14 1780人阅读 评论(0) 收藏 举报  分类: PHP(35)  一.配置 ...

  6. visualstudio开始调试不执行_攻击者是如何滥用msvsmon和Windows远程调试器的

    在本文中,我们将为读者详细介绍攻击者是如何滥用msvsmon和Windows远程调试器的. 简介 让无人值守的msvsmon.exe(远程调试器监视器)处于"无需身份验证"模式是一 ...

  7. core部署iis的 调试net_远程调试远程 IIS 计算机上的 ASP.NET Core - Visual Studio | Microsoft Docs...

    在 Visual Studio 中远程调试远程 IIS 计算机上的 ASP.NET CoreRemote Debug ASP.NET Core on a Remote IIS Computer in ...

  8. 从零入门 Serverless | SAE 的远程调试和云端联调

    来源 | Serverless 公众号 作者 | 弈川 阿里巴巴云原生团队 导读:本节课程包含三部分内容,前两个部分简单介绍远程调试以及端云联调的原理,最后在 Serverless 应用引擎中进行实际 ...

  9. 使用IDA 进行远程调试

    从4.8 版开始,IDA PRO 支持通过TCP/IP 网络对x86/AMD64 Windows PE 应用程序和Linux  ELF 应用程序进行远程调试.所谓"远程调试"是指通 ...

  10. 如何远程调试部署在CloudFoundry平台上的nodejs应用

    网络上关于如何本地调试nodejs应用的教程已经很多了,工具有Chrome开发者工具,Visual Studio Code,和nodejs周边的一些小工具等等. 在实际情况中,我们可能遇到本地运行良好 ...

最新文章

  1. yii mysql 事务处理_Yii2中事务的使用实例代码详解
  2. 万字长文!DeepMind科学家总结2021年的15个高能研究
  3. 那一年,我考入了西北师范大学GIS专业,然而我很迷茫,GISer的职业规划到底是怎样的?
  4. python 日志模块封装_Python logging日志模块 封装完善
  5. 插入数据值 设置标签属性的值 来自 精通ASP-NET-MVC-5-弗瑞曼
  6. oracle关闭和,ORACLE启动和关闭
  7. 巃嵸鸿蒙构瑰材兮,集部-李太白全集
  8. 百度文库文章提取器(下)
  9. 雷电模拟器链接服务器未响应,雷电模拟器经常卡顿怎么办?分享多种解决方法...
  10. java计算机毕业设计springboot+vue城市轨道交通线路查询系统-公交车线路查询
  11. 医院排队叫号管理系统源码
  12. MySQL的锁机制 - 记录锁、间隙锁、临键锁
  13. 【网络】OSI七层模型
  14. 物理学转行?读了四年物理学,优势在哪里?
  15. vscode私钥设置_VScode链接服务器并配置公钥-SSH Keys
  16. 群晖Nas通过jellyfin搭建本地影音库详细全过程(四):解析jellyfin视频信息文件NFO
  17. 记录 设计+制作AA机台
  18. SuperMap iObjects Docker打包全攻略
  19. odoo-图表透视图
  20. java操作elasticsearch出现:NoNodeAvailableException[None of the configured nodes are available

热门文章

  1. 台式计算机安装无线网卡驱动程序,台式机无线网卡驱动,小编教你台式机无线网卡驱动如何安装...
  2. 出现问题请与你的系统管理员联系 照片出现问题请与你的系统管理员 照片出现问题请与系统管理员联系 无法打开应用请与管理员联系
  3. apollo 自动驾驶中的GNSS/融合定位技术
  4. 彻底解决Ubuntu18.04搜狗拼音输入法问题---支持Pycharm、WPS
  5. 经典网络模型 —— 盘点 22篇必读论文与网络模型 + 5种常见数据集
  6. 闭区间连续函数的性质
  7. 百度 UNIT 使用
  8. 主要搜索引擎(Google和百度、雅虎)的站内搜索代码
  9. python爬取企业电话_Python爬取天眼查企业数据
  10. 油猴天眼查公司链接获取(用油猴实现爬虫python版)