博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android应用安全风险与防范之加壳
阅读量:6248 次
发布时间:2019-06-22

本文共 541 字,大约阅读时间需要 1 分钟。

hot3.png

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

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

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

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

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

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

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

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

只有寥寥几个类,而真正的安装包中的dex文件则被藏起来了,这进一步加大了逆向的难度。关于加壳,市面上有很多成熟的企业加固方案可以使用,如果不是专门研究这方面的开发者去自行开发一套加壳方案还是有所难度的。

加壳也只是提高被的门槛,同时应用加壳还要留意平台兼容性等问题。

转载于:https://my.oschina.net/u/2971691/blog/860187

你可能感兴趣的文章
总结第八天
查看>>
向空对象添加数据以及for in 遍历
查看>>
基础才是重中之重~理解内存中的栈和堆
查看>>
js错误问题 The operation is insecure.
查看>>
第四章 表达式
查看>>
Python数值计算:一 使用Pylab绘图(3)
查看>>
python爬虫知识点总结(十八)Scrapy框架基本使用
查看>>
限制textarea的字数(包括复制粘贴)
查看>>
ArcGIS Server中的各种服务
查看>>
HIVE: Transform应用实例
查看>>
Some examples about how to write anonymous method and lambda expression
查看>>
linux下可以禁用的一些服务
查看>>
aria2的下载配置
查看>>
C++扬帆远航——14(求两个数的最大公约数)
查看>>
django-blog-zinna搭建个人blog
查看>>
as3 文本竖排效果实现
查看>>
Window下Eclipse+Tomcat远程调试
查看>>
夜间模式的开启与关闭,父模板的制作
查看>>
2016/4/19
查看>>
计算一元二次方程的根
查看>>