首页
社区
课程
招聘
[原创]bochs的一个使用技巧
发表于: 2012-9-10 23:03 30666

[原创]bochs的一个使用技巧

2012-9-10 23:03
30666

看了这个帖子 颇有感触 http://bbs.pediy.com/showthread.php?t=148272
牛人们忙着照顾孩子 sudami sysnap 这辈的牛人估计忙着找女朋友 房子结婚什么的
断层严重啊  

bochs如何用可以参考我以前的一个帖子
http://bbs.pediy.com/showthread.php?t=131067&highlight=

给出一个Bochs的配置文件
###############################################################
# bochsrc.txt file for DLX Linux disk image.
###############################################################
############IMPORTANT##############
cpu:count=1,ips=22100000, reset_on_triple_fault=1,  cpuid_limit_winnt=0, msrs="msrs.def"
################上面这句话非常重要,如果不加上,安装Windows XP的时候会蓝屏###############

# how much memory the emulated machine will have
megs: 700
#号表示注释 类似于C++中的// 这里的意思是设置700MB内存

# filename of ROM images
romimage: file=../BIOS-bochs-latest
vgaromimage: file=../VGABIOS-lgpl-latest
#设置主板的bios和显卡的bios

# what disk images will be used
floppya: 1_44=floppya.img, status=inserted
floppyb: 1_44=floppyb.img, status=inserted
#设置软盘的参数

# hard disk
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#ata0-master: type=disk, path="xpsp3.img", mode=flat, cylinders=8126, heads=16,spt=63
ata0-master: type=disk,mode=flat,translation=none,path="SP3-flat.vmdk",cylinders=8126, heads=16,spt=63,biosdetect=auto,model="Generic 1234"
#注意这里 一定要填对 填写之前产生硬盘的参数

# choose the boot disk.
boot: disk
#从光驱引导 填c表示从“硬盘”启动,这个可是指我们的虚拟硬盘

# default config interface is textconfig.
#config_interface: textconfig
#config_interface: wx

#display_library: x
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga

# where do we send log messages?
log: bochsout.txt
#日志文件  可以不用关心

# disable the mouse, since DLX is text only
mouse: enabled=0
#默认不启用鼠标
#如果要启用或者禁用鼠标请按ctrl+第三个鼠标键(也就是滚轮 滚轮也是可以按下去的)

ata0-slave: type=cdrom, path="XP.iso", status=inserted
#这个原来没有是需要自己添加  指定了一个cdrom

# enable key mapping, using US layout as default.
#
# NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.
# However, the key mapping tables are used in the paste function, so
# in the DLX Linux example I'm enabling keyboard mapping so that paste
# will work.  Cut&Paste is currently implemented on win32 and X windows only.

#keyboard: keymap=$BXSHARE/keymaps/x11-pc-us.map
#keyboard: keymap=$BXSHARE/keymaps/x11-pc-fr.map
#keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map
#keyboard: keymap=$BXSHARE/keymaps/x11-pc-es.map

ata0-master: type=disk,mode=flat,translation=none,path="SP3-flat.vmdk",cylinders=8126, heads=16,spt=63,biosdetect=auto,model="Generic 1234"

上网搜一下这两个东西

使用 VMware自带的vmware-vdiskmanager.exe
和Vbox自带的VBoxManage.exe多能很方便的让Bochs认磁盘了
都是命令行程序 参数特别多
VBoxManame  clonehd比较有用

vmware那个参数比较少 可以自己/?看一下

这两个程序都是可以转换磁盘格式的vbox的那个能直接转换成IMG bochs就认了
vmware呢
类似于这样 编程flat模式 可以直接挂到bochs上面
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe
   -r H:\VirtualOS\xpsp3Winhex\xp.vmdk    -t 2 H:\SP3.vmdk
Creating disk 'H:\SP3.vmdk'
  Convert: 20% done.


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 6
支持
分享
最新回复 (31)
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
2
最近由于要调试学习mbr rootkit 所以再度拿起了bochs   补几张图
xp in bochs

上传的附件:
2012-9-10 23:16
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
3


win7 in bochs
上传的附件:
2012-9-10 23:42
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
4


安全模式下 bochs win7
上传的附件:
2012-9-10 23:52
0
雪    币: 165
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
bochs 真的是神器,只是boot实在太慢了.
2012-9-11 08:48
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你胆子不小,敢改xp的桌面代码,你行.
2012-9-11 09:13
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
7
你胆子不小,敢改xp的桌面代码,你行

???
哪里改了啊
2012-9-11 09:23
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
8
还是用ida + vmware 调mbr吧.不用这么折腾.
2012-9-11 11:42
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
9
怎么用IDA 和 VMWare 调试mbr 啊  IDA又不是调试器啊 怎么调啊
2012-9-11 11:50
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
10
vmware 开启gdb server. 然后用ida的debug插件里的Remote Gdb debug 进行attach.

上传的附件:
2012-9-11 12:59
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=ProgmBoy;1101080]vmware 开启gdb server. 然后用ida的debug插件里的Remote Gdb debug 进行attach.

[/QUOTE]

图里是32位模式的.改成16位模式就好了
2012-9-11 13:04
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=ProgmBoy;1101080]vmware 开启gdb server. 然后用ida的debug插件里的Remote Gdb debug 进行attach.

[/QUOTE]

首先要把虚拟机停住:
monitor.debugOnStartGuest32 = "TRUE"

设置这条后系统就会暂停在0xFFFF0处也就是机器运行的第一条指令,然后你在0x7c00处下断点就到mbr了.

更多解释在:
http://wiki.osdev.org/VMWare

ida+vmware参考:
gdb_vmware_winkernel.pdf
ida+qemu参考:
gdb_qemu.pdf
上传的附件:
2012-9-11 13:07
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
一直没敢玩过BOCHS
2012-9-11 13:35
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
14
调vt的时候还是挺有用的.不过模拟的貌似有点问题.
2012-9-11 13:53
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
15
下载PDF  学习下
2012-9-11 14:43
0
雪    币: 185
活跃值: (477)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
[QUOTE=ProgmBoy;1101082]ida+vmware参考:
gdb_vmware_winkernel.pdf
ida+qemu参考:
gdb_qemu.pdf[/QUOTE]
下载了,不过貌似只是调戏内核的没有看到mbr啊
2012-9-11 17:27
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
17
首先要把虚拟机停住:
monitor.debugOnStartGuest32 = "TRUE"

设置这条后系统就会暂停在0xFFFF0处也就是机器运行的第一条指令,然后你在0x7c00处下断点就到mbr了.

更多解释在:
http://wiki.osdev.org/VMWare
2012-9-11 18:51
0
雪    币: 347
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
感谢2位的分享~
2012-9-11 19:04
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
19
这个是MJ0011曾经提到的VMWare 63号端口调试MBR吗
2012-9-11 20:09
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
20
调试windows 用GDB也算很耻辱啊 记得当时看王垠的完全用linux工作

GCC GTK QT GDB .....
2012-9-11 20:12
0
雪    币: 382
活跃值: (352)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
21
不是吧.跟63号没啥关系!..
ps:
这个的好处是使用ida的功能啦..还有就是.win7 bootmgr 32位部分是有符号的.选择下基址加载符号.看起来爽多了.
2012-9-11 20:12
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
22
MARK一下
2012-9-11 21:00
0
雪    币: 213
活跃值: (147)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
mark, thankx
2012-9-12 11:22
0
雪    币: 27
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
看了楼主在debugman上的帖子http://debugman.com/thread/6974/1/1
笑而不语。
2012-9-13 11:55
0
雪    币: 673
活跃值: (278)
能力值: ( LV15,RANK:360 )
在线值:
发帖
回帖
粉丝
25
额 楼上别笑而不语了 有什么见解就说出来嘛  我现在头疼怎么查杀这种shellcode插白进程呢

我的前提是shellcode已经插入到白进程了
2012-9-14 08:01
0
游客
登录 | 注册 方可回帖
返回
//