本文探讨了代码比较技术,特别是哈希技术在识别相似函数方面的性能。文章首先介绍了精确哈希的局限性,即代码位置的变化会导致哈希值改变,从而无法识别出本质上相同的函数。然后引入了位置无关代码(PIC)哈希,通过将相对偏移量和地址清零来解决这个问题。文章详细比较了PIC哈希、模糊哈希(LZJD)和莱文斯坦距离(LEV)在不同编译器、编译选项和软件版本下的性能,并使用混淆矩阵、准确率、精确率和召回率等指标进行评估。实验结果表明,PIC哈希在代码位置变化较小的情况下表现良好,但在不同编译器或优化级别下效果较差。模糊哈希和莱文斯坦距离在某些情况下可以提高召回率,但需要选择合适的相似性阈值,实际应用中存在困难。文章最后指出,基于指令字节的句法相似性存在局限性,并提出了未来研究方向,例如结合语义信息或使用神经学习来改进相似函数检测。