apk加密流程


爱加密Android APK加密步骤:

1.把原来的classex.dex 用Android加密算法实现加密成assets/ijiami.dat

2.把事先写好的jni代码和相应的classex.dex替换到原有的位置

3.程序安装完运行起来以后,先运行Android加密 爱加密的加壳程序,在jni里面动态加载原来的classex.dex代码,从而达到Android加密保护的目的。

源classex.dex 隐藏起来了,在静态的时候就没有办法对其破解。





Android APK加密方案都有哪些?看如下分析:

伪加密

  1. 1

    伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密。

  2. 2

    虽然伪加密可以起到一定防破解作用,但也会出现问题,首先使用伪加密对其APK加密后市场无法对其进行安全检测,导致部分市场会拒绝这类APK上传;其次,伪加密的加密方式和解密方式也早已公布导致它的安全程度也大大降低;再次,Android4.2.x系统无法安装伪加密的APK;最后伪加密只是对APK做简单保护,在java层源码加壳保护、核心so库、资源文件、主配文件、第三方架包方面却没有任何保护处理。Android APK加密方案

    END

混淆保护

  1. 1

    把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getUserName编程了方法名。Android APK加密方案

  2. 2

    混淆保护只是增加了代码阅读难度,对于破解基本上是没有实质性作用的!Android APK加密方案

    END

运行时验证

  1. 运行时验证,主要是指在代码启动的时候本地获取签名信息然后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。当然你可以把必要的数据放在服务器端。Android APK加密方案

    破解:找到smali文件中,判断是否相等的部分。改为常量true,即失效。

  2. 总之,反编译一些apk之后,只要是java代码写的总会有smil文件。对于smil文件,如果耐心读的话,还是可以查看到一些关键代码的。

  3. 相较于应用来说,游戏apk因为采用cocos2d-x或者 unity3D,采用的是c++和c# 编写的跨平台程序,在apk采用JNI的方式。所以没有smali,可以防止静态被破解apk包。Android APK加密方案

  4. 当然游戏包apk在运行的时候,会把.*so加载到内存中。动态也是可以在内存中抓取相应的数据。只不过NDK相对于smali破解来说,根部不是一个层级的关系。Android APK加密方案

    END

使用第三方Android加密平台

  1. 以一个例子分析

    Android APK加密方案
  2. 该classes.dex是原来的代码。没有混淆,没有做任何的Android加密保护。反编译的话,源代码暴露无疑。

    Android APK加密方案
  3. 该classes.dex是经过爱加密Android APK加密之后的,现在看看反编译之后的效果。Android APK加密方案

    Android APK加密方案
  4. NativeApplication类,加载exec.so和execmain.so ,里面应该是固定的代码,是对源码

    Android APK加密方案
  5. SuperApplication继承自Application,程序主入口:

    Android APK加密方案
  6. 6

    在Android APK加密之后的apk包中,多了一个assets目录,该目录下,有一些ijiami.dat,其实这个就是原来的classex.dex 

    Android APK加密方案
    END


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值