国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:潘雁,祝跃飞,林伟
单位:潘雁,数学工程与先进计算国家重点实验室, 河南 郑州 45000111,祝跃飞,数学工程与先进计算国家重点实验室, 河南 郑州 45000102,林伟,数学工程与先进计算国家重点实验室, 河南 郑州 45000103
关键词:指令交换;代码混淆;语义等价;虚拟机保护;模拟退火
基金:国家重点研发计划(2016YFB08011601)
软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性.
来源:2019年第6期
《软件学报》期刊编辑部