SpringBoot代码混淆与反混淆加密工具详解
SpringBoot代码混淆与反混淆加密工具详解
简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件
![](https://static001.geekbang.org/infoq/45/4544ede979a61de13f3f19c5975fc2cf.png)
反编译
就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。
比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码:
![](https://static001.geekbang.org/infoq/10/104af2599db08386b2d5e5ec91bc900c.png)
那如果不想给别人反编译看自己写的代码呢?
怎么做?
混淆
该篇玩的代码混淆 ,是其中一种手段。
我给你看,但你反编译看到的不是真正的代码。
先看一张效果示例图 :
![](https://static001.geekbang.org/infoq/91/91ab604fd3301f35aa555a6194e5d4d6.png)
话不多说 ,现在开搞!!!
正文
先看一下我们混淆一个项目代码,要做啥?
一共就两步,无需源码,直接对ipa文件进行混淆加密
ipa编译出来后,或者ipa进行修改后,需要进行重新签名才能安装到测试手机,或者提交app store供apple 商店审核上架。ipaguard有签名和重签名功能,能在windows,mac,和linux上运行。在对ipa进行混淆和保护后,可以直接通过签名安装到测试手机,非常的方便测试检查混淆后的效果。
第一阶段测试和配置尝试阶段 配置好要混淆的内容后直接点击处理安装到手机,这阶段使用开发测试证书,测试描述文件。描述文件要包含测试设备的udid才能安装到设备。 第二阶段发布阶段 当测试ok,运行没问题后把测试证书和描述文件改成发布证书和描述文件,点击处理后产生最终的ipa,发布类型无法安装到手机,只能提交上架发布使用
注意⚠️:描述文件和ipa里面的bundle id匹配。
打开要处理的IPA文件
第一项,填写我们需要重签名的 ipa 路径(当前导入的路径跟导出的路径)
![](https://static001.geekbang.org/infoq/e2/e28bd3368518d887c556e6a3f9d702e7.png)
设置签名使用的证书和描述文件
测试配置阶段使用开发测试证书,方便安装到手机测试混淆后ipa是否工作正常,测试ok,最后准备上架的时候再改成发布证书和发布描述文件
如果ipa需要特殊的权限配置,可以使用权限配置文件
如果希望直接处理完后安装到设备,则勾选安装到设备选项 苹果手机数据线连接电脑即可识别设备,如果链接成功后没显示设备,则先安装itunes或者ios驱动。
![](https://static001.geekbang.org/infoq/1a/1a03171b087c98e278fd5f9f0e3c5434.jpeg)
开始ios ipa重签名
第四项点击开始处理,ipaguard会自动尝试讲ipa安装到手机,如果是发布证书并且忘记关闭安装到设备选项,则安装可能会失败,但是ipa是正常生成的,可以用来上架。
![](https://static001.geekbang.org/infoq/83/83f52c256b41baf9a2182fd269a0e9a4.png)