安卓APP加密的方法主要分成三类:源码加密、数据安全和应用保护,而每一类又分成好几个小项。
源码加密包括:Dex文件保护、防二次打包、so文件保护、资源文件保护。以Dex文件保护为例,Dex文件保护又包括:高级混淆、DEX文件加壳、DEX文件加花、动态类加载、内存防dump。
高级混淆:代码混淆,可以降低代码可读性、缩小包大小。
DEX文件加壳:相当于把源码打包至其他文件夹下,逆向工具对加密后的dex文件解析,只能看到壳文件,可以防止解包后看到真正的源码。爱加密利用挖空技术实现函数级加密,安全强度高,启动效率快。
dex加花:由于大部分逆向工具都是线性读取字节码并解析,当遇到无效字节码时就会引起反编译工具字节码解析失败。爱加密插入无效字节码到dex文件之中,同时保证该字节码永远不会被执行,否则程序运行也会崩溃。这样,就能起到反编译的作用了。
dex动态类加载:爱加密加固后的dex文件源码可以动态分离,在运行时,将源码分段加载到内存当中。
内存防dump:程序运行时会释放代码,内存防dump可以防止程序运行时被劫持。
应用安全包括:log日志输入屏蔽、应用清场。清场技术依赖于云端黑名单、白名单DB,应用每次启动后便自动进行本地的黑名单、白名单DB数据更新,若检测到有异常情况,则可对用户进行提示。
数据安全包括:页面防劫持、本地数据保护、截屏保护、内存数据防查询、协议加密、虚拟键盘。
软件APK的加密方式可以通过使用Android安全工具来检测,例如apktool、dex2jar等。这些工具可以帮助你查看APK文件中的代码,并判断是否有加密。
给文件加密有3种方法:
1 用系统自带的EFS加密,但要注意备份加密证书,另外在加密帐号下是看不到加密效果的。
2 用winrar的压缩加密,但速度慢,操作麻烦。
3 用超级加密3000加密文件,超级加密3000采用先进的加密算法,使你的文件加密后,真正的达到超高的加密强度,让你的加密文件无懈可击,没有密码无法解密。
您可以根据自己的实际需求选择一款属于自己的文件加密方法。
下载dex2jar JD-GUI apktool
反编译步骤:
1.反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
具体步骤:
1.首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
运行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
还是下载工具,这次用到的是apktool
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
1.解压缩下载的两个文件包,apktool-install-windows-r04-brut1.tar解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解压后的一个.jar 文件copy到解压后的\apktool-install-windows-r04-brut1文件夹里)
2.特别注意:你要反编译的文件一定要放在C盘的根目录里
设置加密。NP管理器是一款手机多功能的文件管理器,是通过设置加密apk的,功能和MT管理器类似,都提供了反编译等安卓上逆向的功能。