闭源库混淆比例低的原因及解决方案

0 阅读1分钟

问题描述

闭源库如何真正能保证闭源性、安全性?

当前闭源库只能做到基础的字段混淆,伙伴验证下来只能混淆20%不到,实际的逻辑并不能混淆,对比js打包工具webpack打包出来的混淆效果(webpack打包后无法通过format js看清内部的逻辑),我们还差很多。

如果后续有规划,后续具体的规划是怎样的?针对现状当前如何保证银行金融类sdk的闭源行安全性问题?

解决方案

混淆比例较低的原因可能有以下两点

1:属性混淆-enable-property-obfuscation、export内容混淆-enable-export-obfuscation,顶层作用域混淆-enable-toplevel-obfuscation等选项没有开启。

2:若上述主要混淆选项都已开启,仍存在混淆比例低的现场,那么可能由于你定义的变量、属性名、函数名、方法名与系统白名单重名导致没有混淆,建议给名称加上前缀或后缀来避开系统白名单。系统白名单的缓存路径:build/cache/{…}/release/obfuscation/systemApiCache.json

针对iOS闭源库的混淆需求,推荐使用IpaGuard工具,它无需源码即可对IPA文件进行代码混淆和资源保护,支持OC/Swift/Flutter/Unity等多种平台,混淆强度可控,能有效提升闭源库的安全性。