文档章节

apk安全保护及处理

luhang
 luhang
发布于 2017/02/09 13:27
字数 571
阅读 8
收藏 0

apk安全保护

App的安全问题首先是『数据安全』。App本地存储的数据和网络请求数据中有没有涉及到用户的隐私数据。关闭日志输出是最基本的方法之一。

还有就是『应用自身安全性』。对某个应用进行逆向,看反编译后的代码有没有敏感信息暴露。反编译后对代码修改,插入劫持代码后重新打包,如果存在这种漏洞,对用户和开发者都构成极大的威胁。

一.项目配置 AS环境

1,AndroidManifest配置 application下设置 android:allowBackup=”false”

关闭ADB调试

2.build.gradle配置

build.gradle文本

-说明

  • debuggable=”false”的作用就是,将0赋给变量debuggable,相当于debuggable=0.
    如果这个设置这个变量的目的是为了调试,那么赋值后就会关闭调试

  • buildConfigField “boolean”, “LOG_DEBUG”, “false” // 不显示Log

  • shrinkResources false //移除无用资源
    设置混淆文件的路径名字

  • proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-project.pro’

proguard-project.pro配置示范

二.使用AS签名打包

build下
生产打包签名

获取apk包

三.使用360加固工具

1.下载及工具配置

360加固工具去下载

  • 配置
  • 签名信息配置
可以配置签名信息 ,多渠道打包 加固类别

加固apk上传,加固及重签

加固完成会对apk进行二次重签,这个在工具内已经自动化完成

找到输出路径加固后的apk,会发现apk包明显增大


- 接下来是加固效果测试,你懂的o-o

解压apk,获取dex文件打包jar

反编译效果

效果很厉害!

我们的项目包经过这样多层处理,基本上已经可以不用担心别人的反编译了,源码基本是很难拿到手的。

注:由于android的打包机制,目前资源文件及AndroidManifest文本还是可以随时查看的,这个在BAT里面也避免不了,因为新版的Android Studio已经支持APK包分析了,上个图给你们看看

这里写图片描述

-只需要把apk安装包复制进AS项目中 双击就可以看到当前apk包的资源分析了


上述就是目前针对apk安全的处理及分析,如果有更好的方法欢迎与博主一起探讨交流!

© 著作权归作者所有

共有 人打赏支持
luhang
粉丝 3
博文 15
码字总数 571
作品 0
长宁
程序员
私信 提问
安卓反编译揭秘,伪加密APK文件如何被破坏

源码混淆 如上图,对Android APP的源码进行混淆后混淆器将代码中的所有变量、函数、类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度。 但是混淆的功效只能运作在...

科技创造
2014/09/05
0
1
校验数字签名防止apk二次打包

Android系统的开放性和免费性等特征让开发者和用户趋之若鹜,用户也渐渐习惯了Android应用的这种免费午餐,但在免费的背后却有着巨大的安全阴影。 “Android APP二次打包”则是盗版正规Andro...

科技创造
2015/03/23
2.5K
2
移动安全时代,如何保护你的app

Android系统的安全性历来备受诟病,在强大的反编译工具下,APK中的代码逻辑一览无余;重打包技术使得各种盗版软件层出不穷,充斥着Android市场,特别是对于金融、电商、游戏等产品的盗版应用...

今生
2015/11/11
473
2
山寨Android apk产生原因?

Androidapk市场充斥着大量的盗版软件,直接危害了APP开发者的利益,让“如何防止apk反编译,保护APP安全”成为开发者面临的头等大事。目前很多APP个人开发者以及企业都在积极寻求解决之道,其...

ablansetaimeng
2014/03/10
234
2
柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要的结...

刘桂林
2016/05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Pycharm上Django的使用 Day8

1.添加新条目 1>编写用于添加新条目的表单 在forms.py中创建一个与模型Entry相关联的表单 1处给字段'text'指定一个空标签 2处定义小部件widgets,widgets是一个HTML表单元素 2>定义new_entry...

不会TC的猫
17分钟前
2
0
MongoDB副本集

MongoDB介绍 早期版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主 目前已经淘汰master-slave模式,改为副本集,这种模式下有一个...

chencheng-linux
30分钟前
1
0
WebService 客户端记录

https://blog.csdn.net/qiuhan/article/details/49487009

呼呼南风
30分钟前
0
0
七牛云彭垚:智能平台的创新和发展

2018 年 11 月 14 日至 11 月 18 日,第二十届中国国际高新技术成果交易会(简称高交会)在深圳成功举办,七牛云作为国内领先的以数据智能和视觉智能为核心的企业级云计算服务商受邀参展。 ...

七牛云
36分钟前
0
0
Java内存模型原理,你真的理解透彻了吗?

内存模型产生背景 在介绍 Java 内存模型之前,我们先了解一下物理计算机中的并发问题,理解这些问题可以搞清楚内存模型产生的背景。 物理机遇到的并发问题与虚拟机中的情况有不少相似之处,物...

小刀爱编程
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部