1 PANDA及其运行环境安装
1.1 安装PANDA
1 2 3 4 5 6 7 8 9
| sudo add-apt-repository ppa:phulin/panda sudo apt-get update sudo apt-get build-dep qemu sudo apt-get install python-pip git protobuf-compiler protobuf-c-compiler \ libprotobuf-c0-dev libprotoc-dev python-protobuf libelf-dev \ libcapstone-dev libdwarf-dev python-pycparser llvm-3.3 clang-3.3 libc++-dev git clone https://github.com/panda-re/panda mkdir -p build-panda && cd build-panda ../panda/build.sh
|
安装代码就是这一小段,选用的主机操作系统是Ubuntu 14.04。
1.2 安装QEMU
- 在官网下载qemu2.8。
- 拷贝到某个目录下进行解压缩
1 2
| tar -Jxvf 源文件 -C 目标文件夹 如:tar -Jxvf qemu-2.8.1.1.tar.xz -C /home/yuan
|
- 在~目录下新建一个build-qemu文件夹,转到该文件夹进行qemu的configure。
1 2 3
| cd ~ mkdir -p build-qemu && cd build-qemu ../qemu/configure --enalbe-debug
|
1
| make -j4 //电脑是四核的,所以-j4,运行起来更快
|
1.3 QEMU安装win7
- 首先,在~目录下创建一个image文件夹,然后创建一个win7.qcow2文件。
1 2 3 4
| cd ~ mkdir -p image cd image qemu-img create -f qcow2 win7.qcow2 8G
|
- 然后将win7的镜像文件拷贝到win7.qcow2所在目录下。
- 转到/home/yuan/build-qemu/i386-softmmu目录下执行
1 2
| ./qemu-system-i386 -m 512 -hda /home/yuan/IMG/win7.qcow2 -cdrom /home/yuan/IMG/win7.iso -boot d -enable-kvm (如果需要鼠标控制则加上 -usbdevice tablet ,如果要加速则加上-enable-kvm)
|
遇到的小问题
一开始显示我电脑不支持kvm,于是上网搜罗了一大堆原因,如下:
How to fix error ‘Could not access KVM kernel module’ in Proxmox, Virtualizor, SolusVM, Redhat, CentOS and Ubuntu:
https://bobcares.com/blog/how-to-fix-error-could-not-access-kvm-kernel-module/
查看是否可虚拟化:
http://www.linuxidc.com/Linux/2012-09/69714.htm
最后才发现原来是这个原因,就因为这么一个低级错误竟然害我折腾了一晚上的时间。。。
http://yang19890314.blog.51cto.com/1620466/1136803
1.4 运行小测试
1 2 3 4
| cd /home/yuan/build-panda/i386-softmmu ./qemu-system-i386 -m 512 -hda /home/yuan/IMG/win7.qcow2 -monitor stdio -usbdevice tablet 或者 ./qemu-system-i386 –m 1024 –os windows-32-7 –drive file=/home/bling/image/win7.qcow2 –monitor stdio
|
1 2
| cd /home/yuan/build-qemu/i386-softmmu ./qemu-system-i386 -m 512 -hda /home/yuan/IMG/win7.qcow2 -enable-kvm -monitor stdio -usbdevice tablet
|
1.5 安装vsftp
1 2
| sudo apt-get install vsftpd sudo gedit /etc/vsftpd.conf
|
- 更改vsftpd.conf中的dir项,改成本机中的某个文件夹,用来传输文件给qemu中的win7虚拟机。
1
| secure chroot dir=/home/yuan/ftpShare
|
1 2 3
| ifconfig (eth0 inet addr:192.168.43.19) (lo inet addr:127.0.0.1)
|
然后配置相应参数。
1 2 3 4 5
| sudo service vsftpd restart ftp 127.0.0.1 (name: ) (Password: ) quit
|
2 使用PANDA
2.1 用PANDA打开qemu
1 2 3 4
| cd /home/yuan/build-panda/i386-softmmu ./qemu-system-i386 /home/yuan/image/win7.qcow2 -m 1024 -monitor stdio -usbdevice tablet 或者 ./qemu-system-i386 -hda /home/yuan/image/win7.qcow2 -m 1024 -monitor stdio -usbdevice tablet
|
记录重放文件:
1 2 3
| begin_record xxx //选择一个点开始拍摄快照,记录 end_record //结束记录 quit
|
运行重放文件:
1
| ./qemu-system-i386 -replay itry -hda /home/kumquat_cc/IMG/win7.qcow2 -m 512 -monitor stdio -usbdevice tablet
|
2.2 使用scissors插件
1 2 3
| ./qemu-system-i386 -m 512 -hda /home/kumquat_cc/IMG/win7.qcow2 -monitor stdio -usbdevice tablet -replay itry -panda scissors:name=cutstart,start=39410248,end=72252110 或者 ./qemu-system-i386 -m 1024 -replay xxx -panda scissors:name=xxxxx,start=num1,end=num2
|
2.3 使用test插件
1 2 3
| ./qemu-system-i386 -m 1024 -os windows-32-7 -replay xxx -panda test:path=/home/bling/mytraces/xxxx.db 或者 ./qemu-system-i386 -replay XXX -m 1024 -os windows-32-7 -panda osi -panda test:process_name=XXX.exe,path=/home/bling/mytraces/XXX.db -panda win7x86intro
|
2.4 添加新插件
1、将插件文件放在../panda/panda/plugins/目录下
2、在config.panda中添加新插件的名字
3、在build-panda中make一下