反汇编指令的人工编码
方式:从反汇编指令中手动提取特征
优点:能够包含指令的语义信息
缺点:高度以来专家知识,提取特征的语义信息层级决定了方法的上限。
相关研究
简单方法
方法:提取操作码来表示指令,将每个操作码转化为一个one-hot向量。
评价:忽视了指令中的操作数信息。
Instruction2Vec
方法:寄存器、地址和偏移以不同的方式进行编码,然后聚合成一个向量表示。每个指令被编码为一个9维向量。每个指令划分为多个token,每个token编码一个唯一的索引号,
评价:只能较好的衡量连个指令是不是相同,但无法了解更指令包含的更高层语义信息。例如:无法表示add和sub指令都是算数运算,相似性要比和call的相似性要高。