安全干货分享uniapp做的安卓App如何加固DailyNote

总而言之,虽然uniapp文档一般好,bug一般多,更新像拆炸弹,但是,对于很多人来说,还是很有意义的。所以用的人还是很多。

但是目前随着各种商城上架政策的严格审查,对于加固等需求也慢慢起来了,所以今天我们来讲讲uniapp开发的安卓APP要如何加固。

先来看看一般加固会从哪几个方向进行加固

而我们如果把uniapp制作的安卓APP在加固上其实大同小异--只要是apk或者aab格式都可以,所以我们就基于这个原理来进行加固。

按照一般的思路,先给他混淆一下子。使用代码混淆工具来混淆JavaScript代码,以使其难以被逆向工程和破解。常用的混淆工具包括ProGuard和DexGuard。在UniApp中,你可以在打包安卓应用时配置ProGuard来进行代码混淆。示例代码如下所示,在项目根目录下的uniapp.pro文件中添加以下配置:

-keepclasscom.dcloud.**{*;}-keeppublicclass*extendsio.dcloud.*{*;}02加固资源文件&防止调试和反调试加固资源文件:将敏感资源文件(如证书、配置文件等)进行加密或混淆,以防止被攻击者获取。可以使用第三方工具对资源文件进行加密,或者自定义加密算法来保护资源文件的安全

防止调试和反调试:这一步可以使用第三方库或自定义代码来实现这些保护措施。比如说,可以检测应用程序是否在调试模式下运行,并在调试模式下采取相应的措施,例如关闭应用程序或隐藏敏感信息。

importandroid.os.Debug;publicclassDebugUtils{publicstaticbooleanisDebugMode(){returnDebug.isDebuggerConnected();}}就是说,在应用程序中调用DebugUtils.isDebugMode()方法,可以根据返回值来判断应用程序是否在调试模式下运行,并采取相应的措施。

我们直接使用PBEWithMD5AndDES算法对数据进行加密和解密。使用的时候,你可以调用EncryptionUtils.encrypt(data)方法来加密敏感数据,并调用EncryptionUtils.decrypt(encryptedData)方法来解密数据。记得将PASSWORD和SALT替换为你自己的密码和盐值(重要!!!)。

Stringdata="Hello,world!";StringoriginalHash="2ef7bde608ce5404e97d5f042f95f89f1c232871";StringcalculatedHash=IntegrityUtils.calculateHash(data);booleanisIntegrityVerified=IntegrityUtils.verifyIntegrity(data,originalHash);if(isIntegrityVerified){System.out.println("Dataintegrityverified.");}else{System.out.println("Datahasbeentamperedwith!");}05签名功能补充一个Android签名。

本工具用于对android加固后的apk进行重新签名。

使用说明

ps:如果有alias(证书别名)密钥的或者有多个证书的,请在高级tab中选择alias并输入alias密码

多渠道工具兼容友盟和美团walle风格的多渠道包,方便客户把APP发布到不同的应用平台,进行渠道统计。

读取渠道信息

顶象多渠道工具兼容友盟和美团walle风格的多渠道包,下面是两种不同风格的渠道信息读取方法。选其中之一即可

输出的Apk中将会包含UMENG_CHANNEL的mata-data

可以读取这个字段。

publicstaticStringgetChannel(Contextctx){Stringchannel="";try{ApplicationInfoappInfo=ctx.getPackageManager().getApplicationInfo(ctx.getPackageName(),PackageManager.GET_META_DATA);channel=appInfo.metaData.getString("UMENG_CHANNEL");}catch(PackageManager.NameNotFoundExceptionignore){}returnchannel;}读取渠道信息:Walle输出的Apk也包含Walle风格的渠道信息

implementation'com.meituan.android.walle:library:1.1.7'Stringchannel=WalleChannelReader.getChannel(this.getApplicationContext());渠道文件格式说明

请准备渠道清单文件channel.txt,格式为每一行一个渠道,例如:

0001_my0003_baidu0004_huawei0005_oppo0006_vivo结语以上就是基于uniapp制作的AndroidAPP的加固方式,仅供参考~欢迎一起交流学习~

THE END
1.最新使用uniapp本地打包APP安卓,已排坑uniapp打包安卓本文详细介绍了uniapp打包iOS的过程,包括生成本地打包资源、配置Android离线SDK、修改AndroidManifest.xml、申请AppKey和处理Java版本问题。在打包过程中遇到的Anexceptionoccurredapplyingpluginrequest错误,原因是Java版本过低,升级到Java11即可解决。此外,提供了官方文档和参考文章作为排坑指南。 https://blog.csdn.net/qq_40230735/article/details/123346723
2.应用闪退问题分析与解决方案:uniapp安卓原生插件开发指南在软件开发过程中,遇到应用突然崩溃而无法找到具体原因,实在是一件令人烦恼的事情。就像文中描述的调试过程,充满了曲折和困难。如果前端没有问题,那就需要深入挖掘,这也是众多开发者所面临的一大挑战。 离线打包配置真机运行 开发人员确认前端代码无误后,通常会选择进行离线打包并配置,然后在AS中把项目运行到真机上。https://www.7claw.com/2803255.html
3.uniapp小程序android最低版本mob64ca12d5dd85的技术博客作为入门开发者,你可能会遇到如何在 uni-app 中设置 Android 最低版本的问题。本文将详细阐述整个实现过程,包括每一步的具体操作、需要用到的代码及其说明。 步骤流程 首先,我们来查看整个流程的步骤,可以用表格展示: 具体步骤详解 第一步:创建新的 uni-app 项目 https://blog.51cto.com/u_16213322/12912566
4.uniapp怎么开发安卓?开发流程分享uniappuniapp是一种基于vue.js框架的跨平台开发框架,开发者可以使用uniapp开发多种平台的应用,包括ios、安卓、h5和小程序等。本篇文章将介绍uniapp安卓开发的流程,帮助开发者快速入门。 一、环境搭建 1.安装Node.js Node.js是基于Chrome V8引擎的JavaScript运行环境,也是UniApp安卓开发的必要组件,因此需要先安装Node.js。https://m.php.cn/faq/508721.html
5.Uniapp实现离线打包之安卓找到manifest.json配置文件,在配置面板中,获取uni-app应用表示,并填写应用名称。 manifest.json配置 返回HBuilderX,生成本地打包资源 生成本地打包资源 从控制台中找到打包资源的位置并打开 控制台打包成功结果 打开资源所在文件夹 解压HBuilder X 官方SDK 对于sdk版本的选择,不一定是最新的就是最好的,一定要选择与https://www.jianshu.com/p/a49c09820751
6.uniapp项目打包安卓App腾讯云开发者社区1. 打包安卓 App 点击菜单栏 —> 发行 —> 原生App-云打包 需要登录 dcloud 账号,没有的话就去注册一个,回到 Hbuilderx 登录账号即可 登录dcloud 账号后,再进行原生App-云打包,你会看到这样一个窗口,下面是默认勾选项 在上图中可以看到还没有Android包名,那么需要在 mainfest.json 文件中生成 uni-app 应用https://cloud.tencent.com/developer/article/2185795
7.uniapp打包安卓App的两种方式(云打包本地打包)方法详解其它相关本地打包相对比较麻烦,官网也做了详细介绍,但是感觉不太精简,设置一大堆,看起来也不清晰,所以我在这边大致整理了一下(uni-app安卓打包方式),大致分为底下几个步骤。 需要用到的软件: Android Studio 下载地址:Android Studio官网OR Android Studio中文社区App离线SDK下载:最新android平台SDK下载 打包步骤 在HBuilder https://www.jb51.net/article/270835.htm
8.uniapp打包成安卓app之支付宝授权登录江河入海,知识涌动,这是我参与江海计划的第1篇。 有个项目之前已经编写成小程序并且已经上线,现在有新的需求需要打包成安卓app,并且实现支付宝授权登录。 进入app,判断是否已经登录,如果未登录则进入授权登录页面。 点击去授权,在点击事件上使用plus.runtime模块调用https://open.alipay.com/portal/forum/post/136901015
9.GitHubanyRTC/uniappSDK:anyRTCunianyRTC/uni-app-SDKPublic NotificationsYou must be signed in to change notification settings Fork3 Star22 main BranchesTags 跑通代码需要自定义基座,并且使用iOS和安卓真机运行 概要 anyRTC音视频品质首选,每月免费赠送1万分钟实时音频; anyRTC提供rtm服务,轻松实现交互逻辑; https://github.com/anyRTC/uni-app-SDK
10.uniapp移动端开发中ios/安卓坑和经验总结JackGISuni-app移动端开发中ios/安卓--坑和经验总结 1、iosnew时间对象,需要用逗号隔开传日期的方式, 不支持 new Date('2019-03-01 08:00:00') 格式; 支持以下两种方式: 2、 ios个别版本对fixed的属性的支持性不好,需要用absolute替代; 3、 input 的 placeholder会出现文本位置偏上的时候https://www.cnblogs.com/tiandi/p/15346285.html%20
11.Mr.Yu/likeshop单商户商城系统pch5安卓苹果appuniapp* 前台商城使用业界标准方式:前端分离,由服务端提供标准数据接口。* 商城手机端使用uni-app前端应用的框架,一套代码,可以发布微信小程序、手机h5网页、安卓app、苹果app等10个应用平台。* 项目自带docker-compose,一键即可部署项目。 安装环境 服务器推荐 阿里云服务器https://toscode.gitee.com/null_803_5359/likeshop
12.uView2.0全面兼容nvue的uniapp生态框架uni涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川 组件 众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用 工具库 众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨 布局 https://www.uviewui.com/
13.uniapp上架安卓一门APP开发平台提供“uniapp上架安卓”服务,包括Appstore上架,谷歌pay上架,华为上架,小米上架,OPPO上架,VIVO上架,魅族上架,应用宝上架,三星上架,360上架,百度上架,阿里上架等APP应用商店上架服务。http://appshangjia.yimenapp.com/anzhuo-shangjia-990.html
14.H5,小程序,安卓,IOS等全端组件库主分支:3.2专注uniapptmui.design 基于UNIAPP的VUE3 TypeScript的跨端组件, 分支:3.1.x支持nvue原生渲染,H5,小程序,安卓,IOS等全端组件库 主分支:3.2专注uniapp 暂无标签 https://tmui.design JavaScript等 6 种语言 保存更改 发行版(35) 全部 tmui 3.1.1 11个月前 https://toscode.mulanos.cn/LYTB/tmui-design
15.uviewplus全面兼容nvue/鸿蒙/uniappx的uni涵盖uniapp各个方面,给开发者方向指导和设计理念,让您茅塞顿开,一马平川 组件 众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用 工具库 众多的贴心小工具,是您开发过程中召之即来的利器,让您飞镖在手,百步穿杨 布局 https://uiadmin.net/uview-plus