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

问题描述 投票:4回答:3

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

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

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

react-native obfuscation
3个回答
1
投票

对于JavaScript代码,最好的选择可能是混淆,而JScrambler可能工作得很好。除了迷惑这个特定问题外,我不知道有任何其他好的解决方案。

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


1
投票

我认为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文件夹,让他们自己编译本机代码


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转换为字节码。

© www.soinside.com 2019 - 2024. All rights reserved.