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。

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

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

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

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

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

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

优化 uniapp 发行操作:一键打包、混淆代码的更多相关文章

  1. ionic3 打包 混淆代码

    ionic3 项目中遇到安全漏洞 解决办法: https://www.npmjs.com/package/ionic-voricles-obfuscate 安装插件 cordova plugin ad ...

  2. 利用android proguard混淆代码

    利用android proguard混淆代码 2014-02-05 17:50 1207人阅读 评论(1) 收藏 举报 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上 ...

  3. jar打包混淆上传全自动日志

    第一步: Java的pom.xml文件中要加入导出lib的插件.如下: <build> <plugins> <plugin> <groupId>org. ...

  4. 带你彻底明白 Android Studio 打包混淆

    前言 在使用Android Studio混淆打包时,该IDE自身集成了Java语言的ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单.只需要在工程应用目录的gradle文件 ...

  5. proguard-project.txt和project.properties混淆代码

     [转]利用android proguard混淆代码 防止反编译,优化代码 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上的开源demo,终于成功的配置了androi ...

  6. Nuget一键打包上传以及高级应用

    Nuget是什么不用多说,大家应该也没少用过Nuget, 不少人也应该使用过工具打Nuget包,接下来先一步步说明如何使用脚本完成Nuget一键打包 Nuget一键打包 配置Nuget环境 下载地址: ...

  7. 【grunt第二弹】30分钟学会使用grunt打包前端代码(02)

    前言 上一篇博客,我们简单的介绍了grunt的使用,一些基础点没能覆盖,我们今天有必要看看一些基础知识 [grunt第一弹]30分钟学会使用grunt打包前端代码 配置任务/grunt.initCon ...

  8. 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。

    问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...

  9. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  10. 使用with语句优化pymysql的操作

    一.with语句的好处 with语句的好处在于,它可以自动帮我们释放上下文,就比如文件句柄的操作,如果你不使用with语句操作,你要先open一个文件句柄,使用完毕后要close这个文件句柄,而使用w ...

随机推荐

  1. P1126 机器人搬重物 题解

    Problem 题目概括 $n \times m $ 的网格,有些格子是障碍格.\(0\) 无障碍,\(1\) 有障碍.机器人有体积,总是在格点上. 有5种操作: 向前移动 \(1/2/3\) 步 左 ...

  2. [Python急救站课程]猴子吃桃问题

    问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后,每天早上都吃了前一天剩下的一半多一个.到了第五天早上想再吃时,见只剩下一个桃 ...

  3. 【日常收支账本】【Day02】通过PyCharm集成QtDesigner和PyUIC快速创建界面

    一.集成QtDesigner和PyUIC PyCharm集成QtDesigner和PyUIC教程 二.在QtDesigner中画出窗体 1. 主界面 编辑账本: 新增.修改或删除记录 可视化账本:通过 ...

  4. JUC并发编程学习笔记(十五)JMM

    JMM 请你谈谈对Volatile的理解 Volatile是java虚拟机提供的轻量级的同步机制 1.保证可见性 2.不保证原子性 3.禁止指令重排 什么是JMM JVM->java虚拟机 JM ...

  5. WPF应用开发之附件管理

    在我们之前的开发框架中,往往都是为了方便,对附件的管理都会进行一些简单的封装,目的是为了方便快速的使用,并达到统一界面的效果,本篇随笔介绍我们基于SqlSugar开发框架的WPF应用端,对于附件展示和 ...

  6. 报错Error running 'Tomcat 9.0.68': Can't find catalina.jar【解决办法】

    修改tomcat路径,肯定是你移动了jar包在硬盘的位置 将路径改成当前所在的文件位置

  7. bi报表软件开发的特点什么,产品和流程?

    BI报表软件是一种针对企业数据分析和决策支持的工具,具有高度灵活性和易用性.在当前数据化的时代,越来越多的企业开始关注BI报表软件的开发和应用,因为它们可以帮助企业更好地管理数据,更好地进行商业决策. ...

  8. 开源不挣钱?这个项目上线半年月入超 30w

    很兴奋的告诉大家,Sealos 自从 6 月份上线以来,仅半年时间注册用户已经突破 7万,月收入超过 30w,本文来向大家介绍我们是怎么做开源商业化的.每月平均增速超过 40%,而且这些收入大部分来自 ...

  9. URL路径参数转换器

    作用和基本使用 作用: 用于校验请求的路由参数中的值是否符合符合指定的规则. 这个使用方法和django中的路由参数转换器是差不多的. 至于为什么用路径参数转换器,原因和django中的一样,虽然你可 ...

  10. NetSuite 开发日记 —— 库存详细信息记录更改数量问题

    详细报错: "type":"error.SuiteScriptError","name":"USER_ERROR",&q ...