摘要
因为学习bitblaze,所以安装了著名的二进制分析工具QEMU、TEMU还有vine,我的安装过程比较曲折,这里总结一下,也给后面装Temu的同学提个醒。(Step1 为经验教训,可以直接跳过)
Step1.歧途中挣扎
首先我去bitblaze项目的维护网站查看了一下,然后下载了相关的源码包以及安装说明文档。官方文档建议在ubuntu9.04下编译安装,所以又下载了9.04环境。(实验室这段时间正好断网,所以只能够离线安装),然后发现需要各种各样的安装库。
将dvd-rom设置为源,sudo apt-cdrom add
可以解决一些依赖关系
比如,autoconf、libtool等;但是到了temu的时候因为需要安装sdl支持,而libsdl-dev又依赖于很多其他包,所以没有能够解决,一直卡在这里(反复了很多很多次)。虽然下了很多的deb包,但总会出现各种各样的问题,最后考虑到9.04已经停止了更新,所以换成了10.04版本,进行尝试。
在官方文档中,bitblaze更新建议是采用gcc-3.4的版本,但实际上可以通过打补丁的方式使用gcc-4.4进行编译。
教训:安装之前没有多在网上查找已有的教程,一味地相信官方文档,这样子造成了很多的弯路,实际上后面发现14.04上安装temu的教程都已经放出!(http://blog.csdn.net/gnw/article/details/22791313)
Step2.走上正道-正确的安装
然后,实验室网络好了,与开始在网上搜索,找到了如下文档,并按照文中说的一步一步走,果然成功运行。实际上根据官方文档中提供的脚本中,需要进行一定的修改就可以实现了。建议参考jiuyuedefeng的专栏http://blog.csdn.net/tjhd1989/article/details/18314431(temu的tracetrap编译安装,非常详细)
对于temu,需要打适合于gcc-4.*的补丁,然后再进行编译安装
具体以可以参考以上链接。
并下载相关的插件(下载地址为http://pan.baidu.com/s/11nTbo)
对于vine,需要编辑文件libasmir/src/disasm/asm_program.cpp,
在#include"libiberty.h"前添加:
#define HAVE_DECL_BASENAME 1
Step3. Temu和vine的基本使用
参考http://blog.csdn.net/tjhd1989/article/details/8189570(TEMU和Vine的简单用法)
http://blog.sina.com.cn/s/blog_55a8a96d0100rkor.html(用于TEMU的Windows映像的制作 )
建立磁盘
qemu-img create -f qcow2 winxp.qcow2 20G()
winxp.qcow2表示文件存储位置(可以指定)
20G 是磁盘大小
安装操作系统(需要加载cd-rom)
qemu -hda winxp.qcow2 -cdrom ~/Desktop/winxp2.iso -boot d
使用qemu启动,完成安装
qemu -hda winxp.qcow2 -boot c
使用temu监控
temu -monitor stdio -kernel-kqemu winxp.qcow2
temu -snapshot -monitor stdio -kernel-kqemu winxp.qcow2(保存快照)
使用vine离线分析
小结
1.不要完全相信官方文档;
2.要适时总结、反省,不要陷入歧途;
3.多查多搜索
4.没有网络是万万不行的