当前位置: 代码迷 >> Android >> 【Android应用保护技术探索之路系列】之三:反抗静态分析
  详细解决方案

【Android应用保护技术探索之路系列】之三:反抗静态分析

热度:66   发布时间:2016-04-27 23:50:17.0
【Android应用保护技术探索之路系列】之三:对抗静态分析

作者:郭孝星
微博:郭孝星的新浪微博
邮箱:[email protected]
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell

【Android应用保护技术探索之路系列】章节目录

【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇
【Android应用保护技术探索之路系列】之二:对抗反编译
【Android应用保护技术探索之路系列】之三:对抗静态分析
【Android应用保护技术探索之路系列】之四:对抗动态调试
【Android应用保护技术探索之路系列】之五:对抗重编译

我们可以通过以下几个方法来对抗静态分析。

一 代码混淆技术

自Android2.3以后,GGoggle就在SDK中正式加入了ProGuard代码混淆工具,我们可以利用这个工具进行代码混淆。
ProGuard提供了压缩、混淆、优化和反混淆栈跟踪等功能,关于ProGuard的详细内容,可以参见的我的。

二 NDK保护

这种方法的思路就是讲核心的Java代码逻辑转移到Native程序中进行实现,使得破解的难度由应用级别提高到汇编级别。但是这样也有弊端,Java几行代码就能完成的事情,Native程序可能需要几十行甚至更多才能完成,这会带来饿代码量激增,开发成本的增加以及调试难度的增加。所有在代码安全和开发成本上也需要寻找一个平衡点。

三 外壳保护

外壳保护是一种代码加密技术,Java代码由于其语言的特殊性, 没有外壳保护这个概念。外壳保护主要是针对Native程序,

开源加壳框架upx

它是一款用于ARM Linux内核程序加壳的开源框架,支持多平台和多类型的文件加壳。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案