针对单一动态图水印算法以及线程水印存在的不足,为了提高软件水印的安全性,提出一种基于动态图和线程关系的混合软件水印算法。首先采用动态图水印算法将子图生成代码嵌入到程序中,然后充分利用线程隐蔽性恢复嵌入到线程关系矩阵的水印信息,最后对算法性能进行仿真测试。结果表明,本文算法充分利用了动态图水印和线程关系的优点,实现了优势互补,不仅提高了水印的数据率,而且增强了水印的抗攻击性。