解决TEMU对XP sp3中样本的trace结果为空

trace结果为空的原因是TEMU中的taintcheck不支持XP sp3。

版本判断只判断了sp1和sp2,加入对sp3的判断即可!

解决办法:

编辑temu-1.0目录下文件taintcheck.c,找到taintcheck_patch( )

int taintcheck_patch()          //patch for keystroke propagation on Windows XP sp2
{
#ifndef NO_PROPAGATE
  if (cpu_single_env->eip != 0xbf8a4bde &&
      cpu_single_env->eip != 0xbf84a74f &&
      cpu_single_env->eip != 0xbf848d65 &&    //新加入对sp3的两个eip的判断
      cpu_single_env->eip != 0xbf848d1c)      //新加入对sp3的两个eip的判断
    return 0;
	 
  if(!TEMU_emulation_started) return 0;

  uint32_t phys_addr, addr, addr2, phys_addr2;
  addr = cpu_single_env->regs[R_EBP] + 8;
  phys_addr = TEMU_get_phys_addr(addr);
  if (phys_addr == -1)
    return 0;

  if (!taint_mem_check(phys_addr, 1))
    return 0;

  addr2 = cpu_single_env->regs[R_EBP] + 0x14;
  if (TEMU_read_mem(addr2, 4,  &addr2) >= 0 && 
      (phys_addr2 = TEMU_get_phys_addr(addr2)) != -1) {
    taintcheck_mem2reg_nolookup(phys_addr, addr, 1, R_T0 * 4);
    taintcheck_reg2mem(R_T0 * 4, 1, phys_ram_base + phys_addr2);
  }
#endif
  return 0;
}


解决办法查询自bitblaze讨论组:

http://groups.google.com/group/bitblaze-users/browse_thread/thread/447105c4bbaa3fd4/4e05944a6a50c256?lnk=gst&q=cpu_single_env-%3Eeip#4e05944a6a50c256



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值