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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 小程序发行后代码会自动打包到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)

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

相关文章
|
5月前
|
编解码 数据安全/隐私保护 开发者
uniapp打包的ipa上架到appstore的傻瓜式教程
uniapp打包的ipa上架到appstore的傻瓜式教程
82 0
|
5月前
|
移动开发 安全 前端开发
优化 uniapp 发行操作:一键打包、混淆代码
优化 uniapp 发行操作:一键打包、混淆代码
288 0
|
5月前
|
开发者 iOS开发
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
208 3
|
3月前
|
开发者 iOS开发
uniapp打包苹果应用到哪里去获取私钥证书和证书profile文件
ios的应用,分两种安装方式,一种是上架app store的安装方式,一种是上传到一些应用内测的平台,进行扫码安装。
68 4
|
3月前
uniapp 打包成 apk(原生APP-云打包)免费
uniapp 打包成 apk(原生APP-云打包)免费
180 1
|
5月前
|
移动开发 小程序 API
uniapp组件库SwipeAction 滑动操作 使用方法
uniapp组件库SwipeAction 滑动操作 使用方法
107 1
|
5月前
|
移动开发 小程序 API
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
304 1
|
5月前
|
数据安全/隐私保护 iOS开发 开发者
uniapp IOS从打包到上架流程(详细简单) 原创
uniapp IOS从打包到上架流程(详细简单) 原创
202 1
|
5月前
|
移动开发 前端开发 JavaScript
uniapp如何打包h5项目
uniapp如何打包h5项目
441 0
|
5月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
157 0