针对目前代码混淆有效性评估问题的复杂性和不一致性,提出一种基于主成分分析的代码混淆有效性综合评估模型。该模型将传统主成分分析进行改进,提出动态自适应主成分分析并应用于代码混淆有效性的指标体系中,通过实现变量重命名、数据编码、控制流压扁算法和插入不透明谓词死代码四种混淆方法,同时定义代码复杂度综合评估值和代码混淆度两个反映代码混淆有效性的综合指标进行模型的有效性验证。实验结果表明,该模型能提供一种有效证明代码混淆有效性的综合评估方法。最后还讨论不同的混淆方法和主成分赋权方法对结果的影响。
In order to solve the complicated and inconsistent problem of code obfuscation effective evaluation existed, this paper proposed a comprehensive evaluation model of code obfuscation effective based on principle component analysis (PCA).This model improved basic PCA to dynamic self-adaptive PCA that applied to index system of code obfuscation effective. By implementing variables renaming, data encoding, control flow flatten algo rithm and opaque predicates dead code inserted algorithm, meanwhile it defined comprehensive assessment value of code complexity and code obfuscated rate for model effective confirming. Experimental result shows that this model is an effective method for assessing code obfuscation. Finally, it also discussed the influence of different obfuscation algorithms and PCA weight methods on the result.