TEMU源码分析

TEMU属于开源二进制分析平台Bitblaze的动态分析组件, Bitblaze项目由加州大学Berkeley分校的Dawn Song领导开发。

TEMU基于模拟器QEMU构建。由于QEMU是一个全系统的模拟器,能模拟不同的CPU架构,所以TEMU也能执行全系统的动态分析,即能追踪和分析整个guest OS的运行。理论上TEMU除了支持x86的处理器架构外,还可以支持其他的处理器架构,如PowerPC、ARM和Sparc等,但目前其在QEMU上扩展的功能只支持x86架构。

TEMU在QEMU之上扩展的功能以API的形式提供给用户,用户利用这套API开发插件实现特定的动态分析任务。比较有用的扩展功能为动态污点分析和OS层语义抽取。

动态污点分析目前是一种广泛使用的数据流分析技术,可以追踪特定寄存器或内存数据随程序执行的传播情况,指令级,利用影子内存记录寄存器或内存每一字节的污点信息。

OS层语义抽取功能可以用来判断当前执行指令所属的进程、线程、模块和函数。对于Windows系统,进程和模块信息通过一个内核模块收集,该内核模块即驱动testdrv.sys,注册有两个回调函数,一个在进程创建或销毁时被调用,另一个在加载新的模块时被调用,并收集该模块的虚拟地址范围。除此之外,该模块还能获取每个进程对应的CR3寄存器值(CR3的值是当前进程的页表目录基址,用来计算虚拟地址对应的物理地址)。所有该内核模块捕获的信息存于文件guest.log中,位于执行temu的目录下。

-------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值