【教程】源代码加密、防泄密软件

什么是代码混淆?

代码混淆 是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 Dart 代码时,混淆会隐藏函数和类的名称,并用其他符号替代每个符号,从而使攻击者难以进行逆向工程。

Flutter 的代码混淆功能仅在IPA文件上生效,不需要源码。

局限性

请注意,混淆你的代码并 不会 加密资源,也不能防止逆向工程。它只是用更晦涩的名称重命名这些符号。

info

在应用程序中存储重要私密的信息(如密码、密钥等)是一种 非常不安全的做法

支持的构建目标

以下构建目标支持本篇介绍的混淆过程:

  • aar

  • apk

  • appbundle

  • ios

  • ios-framework

  • ipa

  • linux

  • macos

  • macos-framework

  • windows

info

Web 应用不支持混淆。因为当你构建 Flutter Web 应用发布版本时, Web 应用已经经过了 压缩 处理。 Web 压缩提供了与混淆相似的效果。

混淆你的应用程序

要混淆你的应用程序,请在 release 模式下使用 flutter build 命令,并使用 --obfuscate 和 --split-debug-info 选项。 --split-debug-info 选项指定了 Flutter 输出调试文件的目录。在混淆的情况下,它会输出一个符号表。请参考以下命令:

$ flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>

一旦你混淆了二进制文件,请务必 保存符号表文件。如果你将来需要解析混淆后的堆栈跟踪,你将需要该文件。

tips_and_updates 小提示:

--split-debug-info 选项也可以不使用 --obfuscate 来提取 Dart 程序符号,以减少代码体积。想了解更多关于应用体积的信息,请查阅 测量你的应用体积。

关于这些标志的详细信息,请运行特定构建目标类型的帮助命令,例如:

$ flutter build apk -h

如果输出中没有列出这些标志,请运行 flutter --version 命令,检查你的 Flutter 版本。

加固流程:

ipaguard界面概览

ipaguard界面分左右2块:左边菜单导航栏,右边的功能区左侧菜单:按模块分成启动界面,代码模块,文件模块,重签名与测试模块右侧主功能区会随着功能变化,但是整体分3块,顶部显示过滤区,中间主体内容显示区,底部开关控制和强度控制下面分模块介绍ipaguard功能界面。

ipaguard启动界面

这个界面可以选中打开文件,从配置加载文件,切换软件显示的语言,登录账号,查看软件的版本信息等 

ipaguard代码混淆界面

代码混淆界面随左侧的菜单不同略有区别。但是整体是,顶部选择需要处理的macho文件,然后是一排显示过滤控制功能。 

资源文件混淆界面

资源文件模块包括了文件名称修改,web资源压缩,图片水印等等功能。界面分顶部的显示控制,中介的文件列表,底部的是否处理开关。 

重签名界面

签名配置界面可以配置签名证书,描述文件,设置app的权限(次功能大部分app是用不到的),设置混淆加密完是否要直接安装到设备。底部同样是是否进行签名的总开关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/247152.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

认识产品经理以及Axure简单安装与入门

目录 一.认识产品经理 1.1.项目团队 1.2.概述 1.3.认识产品经理 1.4.产品经理工作范围 1.5.产品经理工作流程 1.6.产品经理的职责 1.7.产品经理的分类 1.8.产品经理能力要求 1.9.产品工具 1.10.产品体验报告 二.Axure简介 三.应用场景 四.安装与汉化 4.1.安装 4…

认知觉醒(七)

认知觉醒(七) 第三章 元认知——人类的终极能能力 第一节 元认知&#xff1a;成长慢&#xff0c;是因为你不会“飞” 1946年10月24日&#xff0c;一群科学家为了研究太阳的紫外线&#xff0c;在美国新墨西哥州白沙导弹试验场发射了当时世界上最先进的V2液体火箭&#xff0…

mysql 数据库 关于库的基本操作

库的操作 如果想到 mysql 客户端当中数据 系统当中的命令的话&#xff0c;直接输入的话&#xff0c;会被认为是 mysql 当中的命令。 所以&#xff0c;在mysql 当中执行系统当中的命令的话&#xff0c;要在系统命令之前带上 ststem &#xff0c;表示系统命令&#xff1a; 但是…

代码随想录二刷 | 二叉树 | 110.平衡二叉树

代码随想录二刷 &#xff5c; 二叉树 &#xff5c; 110.平衡二叉树 题目描述解题思路递归迭代 代码实现递归法迭代法 题目描述 110.平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉…

奥比中光 Femto Bolt相机ROS配置

作者&#xff1a; Herman Ye Auromix 测试环境&#xff1a; Ubuntu20.04/22.04 、ROS1 Noetic/ROS2 Humble、X86 PC/Jetson Orin、Kinect DK/Femto Bolt 更新日期&#xff1a; 2023/12/12 注1&#xff1a; Auromix 是一个机器人爱好者开源组织。 注2&#xff1a; 由于笔者水平有…

FL Studio水果软件最新版本号V21.0.3.3517内置中文补丁,可以切换成中文界面。

FL Studio 21.0.3.3517 Producer Edition 全称Fruity Loops Studio 21 Producer Edition &#xff0c;就是大家熟悉的水果编曲软件&#xff0c;一个全能的音乐制作软件&#xff0c;包括编曲、录音、剪辑和混音等诸多功能&#xff0c;让你的电脑编程一个全能的录音室。FL Studio…

关于响应式布局,你需要了解的知识点

什么是响应式布局&#xff1f; 响应式布局&#xff0c;就是根据不同设备展示不同的布局&#xff0c;以免更方便用户浏览页面。 举个很简单的例子&#xff0c;我们在电脑上浏览网页&#xff0c;屏幕非常大&#xff0c;这时候可能采用的是如下图所示的布局方式。这种布局方式很宽…

C++类和对象(3)

目录 再谈构造函数 构造函数体赋值 初始化列表 【注意】 explicit关键字 Static成员 概念 特性 友元 友元函数 友元类 内部类 概念 特性&#xff1a; 匿名对象 拷贝对象时的一些编译器优化 再谈构造函数 构造函数体赋值 在创建对象时&#xff0c;编译…

后端打印不了trace等级的日志?-SpringBoot日志打印-Slf4j

在调用log变量的方法来输出日志时&#xff0c;有以上5个级别对应的方法&#xff0c;从不太重要&#xff0c;到非常重要 调用不同的方法&#xff0c;就会输出不同级别的日志。 trace&#xff1a;跟踪信息debug&#xff1a;调试信息info&#xff1a;一般信息warn&#xff1a;警告…

炒股怎么做杠杆?安全正规的融资融券了解一下!

加杠杆炒股是指放大投资资金进行股票交易&#xff0c;比如自有资金100万&#xff0c;向证券公司融资100万&#xff0c;那么投资者炒股的本金就有200万。当股市行情好的时候可以放大我们的收益&#xff01; 目前我国股票加杠杆通过融资融券来实现&#xff0c;这个是唯一安全正规…

网络协议 - DNS 相关详解

网络协议 - DNS 相关详解 DNS简介域名层级结构域名服务器 DNS 解析流程为什么DNS通常基于UDP DNS 查询dig 查询host查询nslookup查询whois查询在线工具查询 DNS 调度原理地理位置调度不准确规则变更生效时间不确定高可用 DNS 安全相关什么是DNS劫持什么是DNS污染为什么要DNS流量…

电源适配器老化测试方法分享 电源测试系统助力老化测试

电源适配器老化测试是指对适配器进行高负荷、长时间的运行测试&#xff0c;从而评估电源适配器的性能、稳定性和可靠性。通过老化测试可以检测电源适配器长时间的使用情况&#xff0c;从而指导适配器的设计和研发&#xff0c;提高电源适配器的质量。由于老化测试要求长时间运行…

innovus:ccopt_design流程

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 ccopt完整的流程包括如下几个步骤&#xff1a; spec文件可以只创建一次&#xff0c;无需多次创建。 1&#xff09;clustering阶段 set_ccopt_property balance_mode cluster …

camunda流程引擎——Java集成Camunda(上)(笔记)

目录 一、以一个处理流程开始1.1 后端1.2 前端1.3 执行 二、Camunda的补充2.1 使用方式2.2 可视化平台的Cockpit2.3 流程相关数据2.4 表介绍2.5 前端集成Modeler 三、用Java集成Camunda3.1 集成配置3.2 自动部署3.2.1 修改process.xml位置3.2.2 多进程引擎配置与多租户 3.3 历史…

《Java 核心技术·卷I (第11版)》笔记

文章目录 第1章 Java程序设计概述1.1 Java程序设计平台1.2 Java “白皮书” 的关键术语1.2.1 简单性1.2.2 面向对象1.2.3 分布式1.2.4 健壮性1.2.5 安全性1.2.6 体系结构中立1.2.7 可移植性1.2.8 解释型1.2.9 高性能1.2.10 多线程1.2.11 动态性 1.3 Java applet 与 Internet1.4…

线性回归在数据库中的应用

简介 今天看到微信群有人问&#xff0c;如何知道数据库一年的磁盘增量&#xff1f;如果没有研究过统计学&#xff0c;IT人员对于这个问题就只能靠经验了去断定了。没经验的往往都是回复扩容越大越好。当然未来的事情我们是无法预料的。本博主就通过简单的线性回归做一个计算&am…

XS9922B-国产cvi协议,满足国内车载视频传输领域国产化降本需求

XS9922B 是一款 4 通道模拟复合视频解码芯片&#xff0c;支持 HDCCTV 高清协议和 CVBS 标 清协议&#xff0c;视频制式支持 720P/1080P 高清制式和 960H/D1 标清制式。芯片将接收到的高清 模拟复合视频信号经过模数转化&#xff0c;视频解码以及 2D 图像处理之后&#xff0c;转…

CVE-2023-49371|RuoYi 若依后台管理系统存在SQL注入漏洞

0x00 前言 RuoYi是一个后台管理系统&#xff0c;基于经典技术组合&#xff08;Spring Boot、Apache Shiro、MyBatis、Thymeleaf&#xff09;主要目的让开发者注重专注业务&#xff0c;降低技术难度&#xff0c;从而节省人力成本&#xff0c;缩短项目周期&#xff0c;提高软件安…

相信99%的朋友都没有注意到的数据库时间类型的问题

文章目录 创建表SQL实例小测试知识点小测试可以怎样处理只有查询有问题吗&#xff1f;MySQL时间 很多时候&#xff0c;程序运行起来没有问题&#xff0c;并不代表程序就精确&#xff0c;例如创建时间多一秒少一秒这种事情&#xff0c;很多时候是没有人注意到这个问题。 当然&am…

C++/语法@初始化列表

目录 初始化列表特征疑惑区别必在初始化列表中初始化的三种成员变量1、引用成员变量程序例子&#xff1a;运行结果&#xff1a; 2、const成员变量程序例子&#xff1a;运行结果&#xff1a; 3、自定义类型成员&#xff08;没有默认构造函数的类&#xff09;程序例子&#xff1a…