#react-native #react-native-android #react-native-ios
#react-native #react-native-ios
Вопрос:
В настоящее время я пытаюсь создать новое приложение, основанное на react, и мне нужно, чтобы пакет react-native был зашифрован при его отправке на устройство и пока он работает на нем. Затем мне нужно иметь возможность расшифровать его до того, как он будет загружен машинным кодом, иначе это будет тарабарщина.
Есть ли какой-нибудь способ перехватить загрузку пакета, чтобы я мог этого добиться? Я поискал в Google и провел исследование, и, похоже, на самом деле ответов на этот вопрос не так много. В идеале мне понадобились бы способы как для Android, так и для iOS (я предполагаю, что это должно быть решение с собственным кодом), но если для одного найден способ, я бы предположил, что те же принципы могут быть применены для другого.
Некоторые подробности, если это может быть полезно: в настоящее время используется 0.63.2
react-native (не expo). Приветствуются собственные и даже основанные на jni решения — я бы предпочел иметь решение, чем ничего.
Ответ №1:
Это возможно, например, codepush (https://github.com/microsoft/react-native-code-push ) загружает пакет, загружая пакет и «устанавливая» его перед запуском приложения.
Вы можете управлять загрузкой пакета в файлах ios/MyApp/AppDelegate.m
и android/app/src/main/java/com/MyApp/MainApplication.java
переопределять некоторые методы.
Но независимо от этого, даже если вы зашифруете пакет, если ключ для расшифровки находится в интерфейсном приложении, кроме пакета js, у него всегда будет способ расшифровать. Возможно, это потребует некоторого времени, но это возможно.
Итак, очень ли необходимо это шифрование? Возможно, используя новый Hermes Js https://github.com/facebook/hermes в пакете есть некоторая путаница, и этого уже достаточно.