在将项目传递给客户端之前,如何保护本地应用程序中的源代码

时间:2019-12-19 07:24:19

标签: react-native obfuscation

对于本机应用程序,您可以通过构建框架并像黑盒一样访问它来保护源代码。

对于本机应用程序,是否可以将业务逻辑或某些组件构建为类似的东西? (例如npm包,但是如何隐藏源代码?最好的方法是用JScrambler混淆npm包?)

我正在为客户构建应用程序,他们没有购买拥有代码的许可证。他们拒绝让我们访问他们的证书来发布该应用,那么解决此问题的替代方法有哪些?

4 个答案:

答案 0 :(得分:4)

我认为offline bundle可以胜任:

对于iOS

react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios

对于android

react-native bundle --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --platform android --assets-dest android/app/src/main/res/

默认情况下,使用--dev false对其进行模糊处理(--minify true

为客户提供androidios文件夹,让他们自己编译本机代码

答案 1 :(得分:2)

对于JavaScript代码,最好的选择可能是混淆,而JScrambler可能运行良好。除了迷惑这个特殊问题,我没有其他解决办法。

我在一个刚刚发布了新的JavaScript模糊处理产品JSDefender的团队中工作,它具有对React Native的特定支持,也许您可​​以尝试使用它来代替JScrambler。

答案 2 :(得分:0)

您可以在package.json中使用这些脚本。另外it's good for performance.

"bundle-ios": "react-native ram-bundle --entry-file index.js --platform ios --dev false",

"bundle-android": "react-native ram-bundle --entry-file index.js --platform android --dev false"

我不知道您使用的是哪个版本的react,但是如果您使用的版本高于0.60.4,则应检查Hermes(可用于android),它将js转换为字节码。

答案 3 :(得分:0)

使用以下混淆器

react-native-obfuscating-transformer