提出了一种基于smali代码混淆的Android应用保护方法,其基本思想是利用Dalvik VM基于寄存器这一特点,对寄存器中值的存取进行数据流混淆,并结合不透明谓词技术对其控制流进行混淆,最终目的是让攻击者在反编译时出现异常。对该混淆方法从强度、弹性和开销3个指标进行了技术评价。实验结果表明,该混淆方法能够抵抗现在广泛使用的逆向工具jeb、dex2jar、dexdump和IDA pro的逆向分析。
An Android application protection method that is based on code obfuscation of smali code is proposed. The basic idea is that confuses the data flow for the access procedure of register data, and combines opaque predicates tech- nology to confuse the control flow, thus when the attacker reversely analyze the application, the decompiling results will be wrong. The obfuscation method is evaluated from strength, resilience and overhead. The experiment results show that ourcan resist the reverse analysis of current popular reverse tools, such as jeb, dex2jar, dexdump and IDA pro.