对于软件开发人员来说,保护代码安全是非常重要的。然而水貔藻疽,目前GoogleAndroid平台选择了JavaDalvikV罄休卦咦M的方式使其程序很容易被破解、修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似SunJavaMe的Jar压缩格式一样,此外,Android上的二进制代码被编译成为DEX的字节码,所有的JAVA文件最终会编译进该文件中去,作为托管代码虚拟机可以轻易识别,那么我们就可以很轻松进行反编译。下面,我将为大家介绍几个保护dex文件的方法,希望可以帮到广大移动应用开发者。
工具/原料
apk文件
APP加密工具
方法/步骤
1、Dex加壳保护:相当于把源码打包至其他文件夹下,逆向工具对加密后的dex文件解析,只能看到壳文件,可以防止解包后看到真正的源码。利用挖空技术实现函数级加密,安全强度高,启动效率快。
2、dex加花佼沣族昀:由于大部分逆向工具都是线性读取字节码并解析,当遇到无效字节码时就会引起反编译工具字节码解析失败。我们可以插入无效字节码到dex文件之中,同骀旬沃啭时保证该字节码永远不会被执行,否则程序运行也会崩溃。
3、内存防dump:对于各种内存dump,我们可以在APP运行的时候加上一个内存保护,防止内存被dump,这样黑客就无法获取APP源码了。
4、dex动态类加载:加固后的dex文件源码可以动态分离,在运行时,将源码分段加载到内存当中。