• Android应用安全风险与防范之加壳

    发布:51Code 时间: 2017-03-15 10:07

  • 加壳的原理是通过机密原应用的安装包中的dex文件,大致操作如下: 1.要进行加壳的原应用安装包、做壳的安装包; 2.对原应用安装包进行拆解获取各个部分,并且对dex文件进行算法加密...

  • 加壳的原理是通过机密原应用的安装包中的dex文件,大致操作如下:

           1.要进行加壳的原应用安装包、做壳的安装包;

           2.对原应用安装包进行拆解获取各个部分,并且对dex文件进行算法加密;

           3.将加密原dex和壳Apk中的dex进行组合,合并使之成为新的dex文件;

           4.利用特制的打包工具合并生成加密后的Apk;

           这种通过隐藏dex文件加壳的方式,最终是利用ClassLoader在内存中解密并进行动态加载运行。而如果是修改dex文件的加壳方式,其主要是抽取DexCode中的字节码指令后用零去填充,或者修改方法属性等操作,其修复时机是运行在内存中做相应的修正工作。

           通过加壳操作得到的安装包如果不进行脱壳操作,逆向人员就无法拿到真正的dex文件,也就无从分析。

           这里我们看一下一个使用360加固的一个应用结构在没有脱壳之前的安装包结构。

  • 上一篇:Android性能优化之渲染优化

    下一篇:致程序员:10个迹象表明你编码太久了

网站导航
Copyright(C)51Code软件开发网 2003-2018 , 沪ICP备16012939号-1