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

简介: 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要的结果,对于用户来说,就是一个噩耗,而安全性,一直是我们关注的焦点,今天,我们来聊聊这个安全性,和一起玩玩Apk加固! 一.

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

由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要的结果,对于用户来说,就是一个噩耗,而安全性,一直是我们关注的焦点,今天,我们来聊聊这个安全性,和一起玩玩Apk加固!

一.我们为什么要提高APP的安全性

手机已经是不会离开身边了,APP更是重中之重的环节,我们衣食住行,基本上大部分都是靠APP来完成的,这样的话,APP的安全就是一个很大的挑战了,无论你哪一个环节出了问题,都会使你的私人信息,菜场安全受到威胁,更何况,万一给你来一个全家桶,那你还不得哭死!

二.提升APP安全性的手段

一般我们针对安全性有什么流程?

  • 1.打包(学了几年的Android全部还给了Google爸爸了)
  • 2.混淆 (可行性比较高,但是坑有点多,有些SDK不支持混淆)
  • 3.加固 (平台多,选择慎重)
  • 4.特殊处理 (企业不传之密)

一般就这几个流程吧,打包就直接上架了,这个点,明显是个梗啊,稍微反编译一下就能把你代码看个七七八八了,混淆也算不错的点,但是稍微有点麻烦,不过还算是不错的手段。加固,很轻松就搞定了,对于大多说开发者来说,算是挺不错的手段,但是,人家高手也可以直接解固的(好想学…),所以,作为开发者,我们日常的习惯一定要保持好啊,就拿我来说吧,我们公司有自家的系统,APP都是自己开发的,但是我每次调试的时候都能看到很多的APP的Log,这时我都会告诉负责这一块的工程师,把这些细节注意下,所以,我们的代码意识也有几个类型‘

  • 1.时刻考虑多种情况下的功能实现
  • 2.对权限严格控制,不要为了实现某个功能加很多多余的权限
  • 3.清除你的Log信息,这里推荐用封装好的Log类
  • 4.使用最新的开发工具和API,这点不多说,谁用谁知道
  • 5.有使用到第三方SDK的时候,多考虑一下他的方方面面,对权限的严查和掌握它更新的动向
  • 6.看看新闻,没准你能收获到很多安全意识

当然,我们不光写代码习惯要注意,我们写代码的时候也应该要多注意一些问题,当然,只针对大型企业APP和金融类APP

  • 1.避免在JAVA层处理敏感数据
  • 2.应用内自我效验
  • 3.代码进行混淆
  • 4.采用安全组件
  • 5.APK加固

就拿输入密码来说吧,对密码的处理,各种加密,各种隐秘上传,但是还是会有疏漏,比如前段时间就有人爆料搜狗的输入法把用户输入的信息上传到了自己的服务器,还用的是明文,额…这个…..,友谊的小船就这样没说就翻了,当然,这里也不只是针对搜狗,其他几家也好不到哪里去,这时,我们也可以自定义键盘什么的,不需要很多的功能,其实实现起来还是没什么大难度的

当然,编译后的应用,数据都被编码了,进一步修改还是有点难度的,我们接下来讲一下加固的技术对编译的APK再穿上一层保护伞

三.加固手段

什么是加固(以360加固为基础)?

  • 加固就是一种提升APK安全性的处理手段,他的原理就是使用一个classes.dex文件做Loader,对原字节码Classes.dex文件进行加载和启动,即在原字节码文件执行前增加一段额外的逻辑,用来增加安全策略,引导引用正常运行

大家都知道,我们用APKTools去反编译的时候,得到的源码文件就是Classes.dex,而加固就是把原有的Classes.dex做了伪装进行保护,我们来看张图

这里写图片描述

图是我偷来的,哈哈,这个就是一个加固的模式了,我们的APK的一些文件可以看这里

这里写图片描述

那我们加固前和加固后的文件结构有什么不同呢?这个我们还得分两个点来讲

  • 文件结构的不同

    文件结构发生了少许的变化,我们直接看图说话

这里写图片描述

这图自己画的,不是偷的啊,哈哈!

  • 代码的不同

代码的不同,主要体现在

  • AndroidManifest.xml

清单文件里,新增加了一条权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  • 1
  • 而且强制把Application的name指定为
android:name="com.qihoo.util.StubApplication"
  • 1
  • 最后是增加了一个注册Activity的信息
android:name="com.qihoo.util.appupdate.AppUpdateActivity"
  • 1

对了,包名也发生了变化,在启动APP的时候就是进行了一些逻辑处理了,我们说了这么多,其实没什么luan用,我们还是实战了解一下把,这里就用360来演示

四.360加固助手

哟西,到正题了

  • 官网:http://jiagu.360.cn/

1. 360加固助手的介绍

额,这个,还是照搬网上的吧,既然用人家的东西是吧,也不好黑人家,官网是这样说的,加固报移动应用提供专业安全的保护,可防止应用被逆向分析,反编译,二次打包,防止嵌入各类病毒,广告等恶意代码,从源头保护数据安全和开发作利益,为了满足广大开发者的需求,加固报团队推出了即网页端加固宝后的PC端360加固助手,来发着只需要打开360加固助手软件,一键上传APK,就可以自动完成应用的加固,多渠道打包,签名工作

2. 360加固助手的特点

  • 1.一键上传自动加固与签名

无需下载签名工具,轻松实现自动签名,免去重复签名的麻烦

  • 2.多渠道打包更简便,快捷

不限制渠道包个数,记忆你的渠道信息,无需重复配置渠道信息

  • 3.自动下载和保存

应用加固后,自动保存在指定文件夹下,无需手动下载

3. 360加固助手的功能

    1. 本地加固

与加固报Web服务完全对接,使得加固变得更加便捷

  • 2.查看加固任务的进度

在本地查看加固任务的详情

  • 3.配置信息

本地配置签名,应用市场发布渠道,增强服务

  • 4.辅助工具

制作签名,签名APK

  • 5.一键发布

将加固后的应用一键发布到各大应用市场


怎么感觉在给360加固打广告一样啊…..

好了,我们直接进入官网

这里写图片描述

然后可以点击立即使用,他也会提示你下载助手的,这里给个链接一键直达

  • 360加固助手下载:http://jiagu.360.cn/qcmshtml/details.html#helper

这里写图片描述

我们就直接下载Windows版了,里面有一些支持文件和一本说明书,还有一个安装程序,这里要注意我们需要登录哟

这里写图片描述

当然,主界面上的功能我们上面都讲到了,也就这么点东西可以说的了

这里写图片描述

好的,我们来时应用加固了

四.加固

为了加固,我们提前准备好一个APK,然后我们签名,得到他的签名文件,密码是123456789,好了,我们点击加固应用,导入我们的APK

这里写图片描述

我们暂时先暂不配置,就会看到正在进行加固

这里写图片描述

他就会提示输出的目录,也就是加固后的应用

而我们点击任务详情,就可以看到我们本次加固的一些信息

这里写图片描述

现在你,我们可以去配置信息中配置我们的信息了,这里有三个选项卡,第一个是配置你当前的app所需要的配置信息,你把签名文件放上去,再填写密码就可以了

这里写图片描述

第二个就是大多比较感兴趣的多渠道打包了,我们其实很简单,选择统计平台,选择市场,填写编号就可以了,很方便

这里写图片描述

最后加固选项就是指定输出路径了

这里写图片描述

下一个选项是辅助工具,没什么说的,签名和制作签名

这里写图片描述

最后,我们可以点击一键发布把应用发布出去了

这里写图片描述

还是挺方便的,get到新技能了哟!

好的,我们这章就到这里结束了

原文地址http://www.bieryun.com/2732.html

相关文章
|
3月前
|
编译器 Linux PHP
【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
|
19天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
376 1
|
19天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
142 3
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
25天前
|
缓存 开发框架 移动开发
uni-app:下载使用uni&创建项目&和小程序链接&数据缓存&小程序打包 (一)
uni-app 是一个跨平台的开发框架,它允许开发者使用 Vue.js 来构建应用程序,并能够同时发布到多个平台,如微信小程序、支付宝小程序、H5、App(通过DCloud的打包服务)等。uni-app 的目标是通过统一的代码库,简化多平台开发过程,提高开发效率。 在这一部分中,我们将逐步介绍如何下载和使用uni-app、创建一个新的项目、如何将项目链接到小程序,以及实现数据缓存的基本方法。
|
3月前
|
存储 BI Android开发
全开源仿第八区H5APP封装打包分发系统源码
全开源仿第八区H5APP封装打包分发系统源码
132 4
|
3月前
|
安全 JavaScript 应用服务中间件
【Azure Function App】如何修改Azure函数应用的默认页面呢?
【Azure Function App】如何修改Azure函数应用的默认页面呢?
|
3月前
【Azure Logic App】消费型逻辑应用在消费Service Bus时遇见消息并发速度慢,消息积压
【Azure Logic App】消费型逻辑应用在消费Service Bus时遇见消息并发速度慢,消息积压
|
3月前
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
|
3月前
|
域名解析 网络协议 网络安全
【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具
【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具