Android apk反编译之有效防止破解和反编译加密方法
    对于Android开发者来说,自己开发的Android APP被破解是个让人头疼的事。那有什么办法能防止Android apk反编译和破解呢?一般的混淆代码和防二次打包还有效么?我们通过下面的内容来验证一下!
    首先我们一个经过混淆代码和防二次打包的Android APK,这样的Android APK包不难!只要到爱加密APK源代码安全检测平台,检测一下就可以知道做过什么保护。
    通过图片我们可以看到这款Android APK做了混淆代码和防二次打包保护,对于其他的Android APK中的DEX、RES、SO库等文件未做任何保护。下面我就通过对APK源代码的安全分析,看看这Android APK的安全怎么样!
    首先我先将APK反编译,看看能不能拿到代码!经过简单的反编译我们就可以轻松的拿到APK里面的源代码,下面我们就修改一下里面的东西,看看之前的APK保护是否有效!
1、配置用户权限(重要)
2、添加必须组件(重要)
完成这2个步骤我们的sdk就已经植入成功了,如图:
那么我们怎么解决这款APK做的保护呢?不用着急,我们慢慢来!
首先我们发现当登录的时候会提示签名信息不一致,导致不能登录!经过分析发现他是给apk做了签名信息认证,这时我们需要到他获取签名信息的地方,如下图:
到这一步就可以绕过这款APK的二次打包防护了,这样我们就可以登录了!登陆后我们可以看到这款Android APK已被植入广告!
    这里我要简单介绍一下APK的混淆代码、防二次打包的加密技术是怎么回事!
混淆代码:
Android APP的源码进行混淆后混淆器将代码中的所有变量、函数、类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度。 但是混淆的功效只能运作在APP已经被破解后,而且只是增加破解者的难度时间,对其防止破解的作用意义不是很大。
防二次打包:
    二次打包是指将APK拆包后重新打包,二次打包必将丢失原有的签名。大多数的Android开发者都是将签名信息作为认证标准,所以只要原有的签名信息改变,APK就无法正常运行。但是如果将这个认证信息功能屏蔽掉,防二次打包就失效了!
    通过对APK的反编译我们知道,混淆代码和防二次打包的APK加密技术已经无用!下面我们通过对DEX、RES、SO库等主要Android APK文件进行加密,看看是否能有效防止APK被破解和反编译!
    我们先通过爱加密的APK安全保护平台,对这款Android APK进行安全保护。步骤如下:
登录/注册→上传APK→等待系统加密→完成后下载APK→给APK签名→完成!
注意:
国内源码免费分享平台
    在爱加密APK源代码安全保护平台,个人信息要填写完整,否则无法正常使用。APK加密完成后,系统会发出邮件通知加密完成。最后下载APK包再次完成签名,就可以正常使用了!
    下面我们对加密过得APK进行源代码的安全检测,看看对DEX、RES、SO库等主要文件的加密,是否真能防止破解和反编译!
    经过爱加密APK源代码安全检测平台的检测,我们看到这款APK已经做了相当高级的加密保护。但是面对破解技术是否有效果呢?我们试着对破解一下!
    我们先解压,然后反编译。当我们解压的时候会得到“解压文件损坏”的提示,而我们打开源代码却看到里面的代码已经和原来的不一样了!
    所以我们最后得到总结就是对DEX、RES、SO库等主要APK文件的加密是有效的,因为我们根本无法拿到里面的代码,无法进行任何修改。
    这是我的Android APK防止破解和反编译的经验分享,希望可以帮到Android开发者朋友!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。