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. 博弈论nim游戏

    nim游戏 给定n堆物品,第i堆物品有Ai个,两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取.取走最后一件物品的人获胜. 定理:nim游戏先手必胜,当且仅当A1 xor ...

  2. File --JAVA

    File --JAVA 构造方法 方法 说明 public File (String pathname) 根据文件路径创建对象 public File (String parent, String c ...

  3. QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托

    1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...

  4. HTML DOM之三:节点关系导航

    1.获取节点列表 1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <p>Hello World!</p> 6 ...

  5. 【pwn】[SDCTF 2022]Horoscope--栈溢出,atoi函数绕过

    checksec检查一下,发现只开了nx,然后ida打开直接看主函数 发现fgets函数往s里面读入320个字节的数据,此处可造成溢出,再看看test和debug函数 void debug(){  t ...

  6. 基于AStyle的代码格式化脚本 [已开源]

    这是一个简单的windows端脚本 主要用于C/C++代码的格式化 可以添加到鼠标右键,直接在.C/.H文件上右键格式化代码 具体开源地址 https://gitee.com/svchao/code_ ...

  7. 教你如何使用PyTorch解决多分类问题

    本文分享自华为云社区<使用PyTorch解决多分类问题:构建.训练和评估深度学习模型>,作者: 小馒头学Python. 引言 当处理多分类问题时,PyTorch是一种非常有用的深度学习框架 ...

  8. centos7安装MySQL—以MySQL5.7.30为例

    centos7安装MySQL-以MySQL5.7.30为例 本文以MySQL5.7.30为例. 官网下载 进入MySQL官网:https://www.mysql.com/ 点击DOWNLOADS 点击 ...

  9. 如何使用 PreparedStatement 来避免 SQL 注入,并提高性能?

    前言 本篇文章主要如何使用 PreparedStatement 来避免 SQL 注入,并提高性能? 欢迎点赞 收藏 留言评论 私信必回哟 博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 ...

  10. 数据库是mysql,使用DBeaver的SQL编辑器执行sql脚本文件时,报错:No active connection 。

    遇到这种问题,多半是因为没有与数据库关联 具体操作点击右键,选择与数据库关联 结果如下 出现这个就好了.