【原创】以虚御虚-用虚拟机调试vt程式

Intel vt技术十分诱人,但是如何调试vt程式却是让人头疼,让钱包心痛的问题,在走了各种弯路后,终于摸索出一套简单易懂又省钱的vt调试方法。如果你有比我更好的方法请第一个告诉我哟!!!

准备工作:
首先你需要安装以下程式:
1. vmware(版本6.0-7.1)
2. ida(不一定用得到)
3. windbg(也不一定用得到)
4. 自行编译一份带vt的bochs(版本2.4.1-2.4.6,2.4.1中vmx有些部分没实现推荐用2.4.5以上版本)


然后你需要安装一下操作系统,因为bochs装系统太慢,所以我们这里用vmware生成一个磁盘文件并安装好系统给bochs用。以后也能利用vmware把文件放入虚拟机中的硬盘。

创建虚拟机的关键步骤:

名称:  32de60ea10c61c63b90e2d91.jpg
查看次数: 1683
文件大小:  38.7 KB

在选择创建硬盘的时候要选择“直接分配所有磁盘空间”

在创建后会有以下两个文件

名称:  d34fe109401f8162b0351d91.jpg
查看次数: 1671
文件大小:  6.5 KB

其中xxx.vmdk比较小存储了硬盘描述信息,其中的信息之后会在bochs中用到。xxx-flat.vmdk为硬盘数据bochs也能使用。

在生成完后你需要安装一个操作系统,这里我使用的是xp sp3。

(注:在vmware安装操作系统的时候,尽量使用原版和纯净版减少神奇的意外发生。)

 

打开xxx.vmdk查看“# The Disk Data Base”这节

记录下以下信息:

ddb.geometry.cylinders = "8322"

ddb.geometry.heads = "16"

ddb.geometry.sectors = "63"

 

打开bochs将这些信息填入:

名称:  0d35221588ea721621a4e993.jpg
查看次数: 1684
文件大小:  41.2 KB

好了这样bochs和vmware就能共用一个磁盘文件了。

在设置完后启动bochs时也有一个地方需要注意:

名称:  2b20911c79e310a9e1fe0b9c.jpg
查看次数: 1676
文件大小:  30.8 KB

因为vmware生成的磁盘文件的cylinders 不一定是512的倍数,bochs会因为这个问题而发出磁盘大小不匹配的警告,但其实是可以用的这里直接continue就行了。


完成准备工作后接下来你可以有两种选择(有钱人才有的选啊):

 

1.  你拥有ida5.7及以上版本且使用bochs2.4.5(或者你拥有ida5.5且使用bochs2.4.1)

名称:  b51f03da21196a7010df9b9d.jpg
查看次数: 1669
文件大小:  33.6 KB

直接使用ida中自带的bochs调试功能连接你编译好的bochs进行调试,轻松方便。(有钱真好,羡慕嫉妒恨啊!)

 

2.  想用bochs2.4.5但没有ida5.7或以上版本

使用windbg做为辅助进行调试,配合程式的com输出的信息,在bochs中下断点调试。

名称:  d34fe10940148162b0351d9e.jpg
查看次数: 1673
文件大小:  45.3 KB

Windbg的设置和用vmware调试的时候完全一样,如果你以前设置过直接就可以用了。

 

一些符号和地址可以由windbg和com输出获得然后再bochs中下断点进行调试。虽然步骤比有ida的同学麻烦点,但是买ida的钱是省下来了。

名称:  3d45c71df71dc04340341798.jpg
查看次数: 1674
文件大小:  83.1 KB

上图为bochs中自带的调试界面,可以在这里下断点。

名称:  90e0d83baa9f729ed4622599.jpg
查看次数: 1672
文件大小:  51.1 KB

在命令行窗口可以看见系统退出vt的原因。

至此vt的调试环境就搭建好了,勇敢的少年啊快去调试vt!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值