针对已有的二进制代码反混淆方法只针对特定的混淆方法、不适用于未知的混淆方法,且代码覆盖率低的问题,提出了一种基于语义的二进制代码自动化反混淆方法,通过语义相关指令识别对混淆后程序的指令序列进行优化,能同时适用于已有的和未知的混淆方法.此外,提出了一种低开销的多执行路径构造方法,在提高代码覆盖率的同时降低了开销.实验结果表明:该方法具有较好的反混淆效果,对于恶意软件分析具有很好的辅助性作用,可有效地降低分析恶意软件的难度,提高分析恶意软件的效率.
Current binary code de-obfuscation approaches only target a limited set of specific obfuscations and are ineffective against new obfuscations.State-of-the-art approaches of this problem are based on dynamic analysis and face the challenge of low code coverage.A semantics-based automated de-obfuscation approach was introduced.The key point of this approach is to optimize the instruction traces of the obfuscated program with the results of semantically relevant instruction identification,which can be applied to both existing and new obfuscation techniques.Moreover,a low-cost solution for multiple execution paths exploration was introduced.The proposed solution can enhance the code coverage and reduce the overhead at the same time.Experiment results show that the de-obfuscation approach is particularly effective and can be an invaluable aid for malware analysis.It can reduce the difficulty,and improve the efficiency of malware analysis effectively.