优化 uniapp 发行操作:一键打包、混淆代码

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 小程序发行后代码会自动打包到unpackage/dist/build文件中(生产环境)unpackage/dist/dev文件是发行旁边的运行按钮打包出来的文件(开发环境)

#  uniapp一键发行代码并混淆代码

第一步.在项目根目录下安装插件

```

npm install javascript-obfuscator -g

```

安装完成后,javascript-obfuscator就是一个独立的可执行命令了。

```

javascript-obfuscator -v

```

第二步:HbuilderX点击发行按钮,打包代码到dist文件中

小程序发行后代码会自动打包到unpackage/dist/build文件中(生产环境)unpackage/dist/dev文件是发行旁边的运行按钮打包出来的文件(开发环境)

第三步:创建一个运行脚本1.在自己项目根目录下创建一个build.bat脚本文件(最好是在unpackage/dist文件根目录下创建)文件内容为:

> D:javascript-obfuscator D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user --output D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user && javascript-obfuscator D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common --output D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common以上代码表示混淆本地文件

>

> D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user 输出到本地文件D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user 并且混淆本地文件D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common输出到本地文件D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common

ps:如果输入文件和混淆文件为同一个文件代表把混淆后的文件覆盖原本的文件

第四步:双击这个build.bat文件,输出混淆文件表示混淆成功。

混淆完成弹窗会自动关闭,查看混淆后的文件和混淆前的样子还是有区别的哦~

第五步:在HbuilderX点击发行后可以直接点击混淆,不需要执行文件以上的方法已经可以完成代码混淆了,但是是不是觉得有点麻烦呢,每次点完发行还要再去找到.bat文件去执行。直接把执行.bat文件代码写入HbuilderX中。点击【工具】=>【外部命令】=>【自定义外部命令】

把.bat文件写入command中,保存

以上步骤完成后,你右击文件目录就可以看到混淆的命令拉,点击【混淆】。黑窗口就自动弹出混淆拉~,到这里就完成拉,然后你就可以看到微信开发者工具中你即将要上传的代码中部分被混淆了!

可以看出上述混淆工具混淆还是很繁琐的,我们推荐另外一个好用简单方便的小工具-ipaguard。

二、使用

class-dump在dump从appstore上下载下来的app的时候,首先是需要对app进行砸壳处理的,具体的砸壳工具是ipaguard、clutch等等。

以ipaguar为例,

####  使用ipaguard来对程序进行加固

代码加固是进一步保护应用的一种方式,通常通过特定平台来对应用进行加固处理。

这边以ipaguard为例,目前还在免费阶段,想薅羊毛的快快试试。

Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6cb79da9c7104dafbf6063f49a38b3ee~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1483&h=535&s=326824&e=png&b=0b68ba)

所以就要使用到混淆器,混淆器是把里面的代码变量等信息进行重命名,这样可读性会变得非常差,接着,

到这里,我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看

然后导入自己的包就可以了,这里是流水式的走下来,所以只需要导入和导出就可以了,

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/facf9217e9ed4a498667c44ba6d1e698~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1191&h=762&s=54356&e=png&b=ffffff)

添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完--加固完--下载完--已完成,当到已完成的时候,说明这里已经可以导出了,导出需要前面提到的自己创建的签名,这里可是会用到的,如果不用,则包安装包可能会出现问题

选择导出签名包,选择签名文件,输入密码,然后点击开始导出

 

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d7d5222f58754a22acbf856afc621c8f~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1181&h=760&s=44532&e=png&b=ffffff)

导出的包是经过混淆,经过加固比较安全的包了

相关文章
|
2月前
|
移动开发 安全 前端开发
优化 uniapp 发行操作:一键打包、混淆代码
优化 uniapp 发行操作:一键打包、混淆代码
35 0
|
2月前
|
编解码 数据安全/隐私保护 iOS开发
uniapp IOS从打包到上架流程(详细简单) 原创
uniapp IOS从打包到上架流程(详细简单) 原创
33 0
|
1月前
|
数据安全/隐私保护 iOS开发 开发者
Uniapp 最新版 iOS 打包详细步骤详解
Uniapp 最新版 iOS 打包详细步骤详解
|
2月前
|
缓存 JavaScript CDN
如何优化Uniapp应用程序的性能?
如何优化Uniapp应用程序的性能?
42 0
|
2月前
|
编解码 数据安全/隐私保护 开发者
uniapp打包的ipa上架到appstore的傻瓜式教程
uniapp打包的ipa上架到appstore的傻瓜式教程
14 0
|
2月前
|
开发者 iOS开发
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南
38 0
|
2月前
|
Android开发 iOS开发
uniapp如何原生app-云打包
uniapp如何原生app-云打包
23 0
|
3月前
|
移动开发 安全 前端开发
uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ✨
本篇博客将教你如何使用 JavaScript-obfuscator 插件来一键发行和混淆 iOS 上的 uniapp 代码。通过安装插件、创建运行脚本,并执行混淆操作,你将能够轻松通过审核,提高应用程序的安全性。🔒
|
2月前
|
小程序 前端开发
uniapp 小程序接入友盟 ,自定义事件携带参数
uniapp 小程序接入友盟 ,自定义事件携带参数
|
2月前
|
移动开发 小程序 JavaScript
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式

相关产品

  • 大数据开发治理平台 DataWorks
  • 检索分析服务 Elasticsearch版
  • 日志服务