temu的使用

来源:互联网 发布:网络剧张嘉倪孙尚香 编辑:程序博客网 时间:2024/06/08 00:20

temu对进程的分析是建立在虚拟机上的。temu工具依赖于qemu,qemu是模拟处理器,安装temu时qemu就已经安装好了。
使用temu时,首先要制作一个映像,然后通过temu启动该映像进入虚拟机。需要注意的是,如果你在实际ubuntu操作系统上安装qemu模拟器,需要在bios开启Virtualization功能。如果是在vmware中的虚拟机安装qemu模拟器,则需要修改虚拟机设置,如下图,勾选Intel VT-x/EPT或AMD-V/RVI(V):
虚拟机设置

制作映像
1.制作文件格式为qcow2的映像。

qemu-img create -f qcow2 ubuntu9.04_32.qcow2 10G

这样就创建了一个格式为qcow2,容量为10G的硬盘映像文件ubuntu9.04_32.qcow2。容量大小可以自己设定。qcow2 镜像格式是 QEMU模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。

2.然后安装ubuntu,选择你想安装的操作系统的ios文件,本文以ubuntu9.04 32位系统为例。注意操作系统要求微软官方的版本,否则可能会安装失败。

qemu-system-x86_64 -hda ubuntu9.04_32.qcow2 -cdrom '~/image/ubuntu-12.04.5-desktop-amd64.iso'  -boot d -m 102

-boot d:从光盘引导
-cdrom:从光盘安装,后面跟iso所在的路径
-hda:硬盘映像

3.用qemu启动该映像。

qemu-system-i386 -hda ubuntu_9.04_32.qcow2 -boot c -show-cursor -enable-kvm -usbdevice tablet

-show-cursor:虚拟机中的鼠标显示
-enable-kvm:减少启动时间
-usbdevice tablet:解决鼠标偏移
-boot c:从磁盘引导

使用temu
1.首先使用temu启动之前制作的映像

./tracecap/temu -monitor stdio ubuntu9.04_32.qcow2  -show-cursor  -usbdevice tablet

-enable-kvm 选项不可用

2.在guest ubuntu9.04系统中创建foo.c文件

$ cat foo.c#include <stdio.h>int main(int argc, char **argv){  int x;  scanf("%d", &x);  if (x != 5)      printf("Hello\n");  return 0;}$ gcc foo.c -o foo$ ./foo

动态分析foo进程

1.加载temu插件

(qemu):load_plugin tracecap/tracecap.so (qemu):enable_emulation

2.找到你想进行trace的进程id

tracebyname foo “/tmp/foo.trace”

3.在guest系统(ubuntu9.04)执行程序: ./foo

4.指定输入污染

(qemu):taint_sendkey 5 1001 //给guest os中的进程发送出入变量5 (qemu):taint_sendkey ret 1001 //给guest os中的进程发送回车键

5.结束跟踪和污染

(qemu):trace_stop (qemu):unload_plugin