摘要:本发明公开了一种数据流跟踪方法,包括三个阶段:客户操作系统指令静态反汇编,根据静态的客户机x86指令生成对应的污点传播指令,进行污点数据传播更新操作,对于在静态反汇编时不能获取的内存操作数物理地址,通过采用共享缓存的方式在动态执行过程中获取;编译产生宿主机执行代码,根据上一阶段的污点指令生成宿主机上的可执行代码,以处理函数的形式进行生成,方便下一阶段的执行;开启新的执行线程,执行污点指令,逐条取出污点指令,调用其处理函数。本发明方法通过将污点跟踪操作和模拟器动态二进制翻译执行模块分离,实现基于x86指令级的污点语义翻译和并行化的污点传播更新,减少无用的污点跟踪操作,提高系统和用户的交互体验。