【教程】源代码加密、防泄密软件
?
什么是代码混淆?
代码混淆?是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 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是用不到的),设置混淆加密完是否要直接安装到设备。底部同样是是否进行签名的总开关
?
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!