Uglify фактически выполняет эту работу здесь (--env.uglify
).
--env.secret_token
будет просто параметром, который передается компилятору.Это заменит вхождение переменной в исходном коде фактическим значением, основанным на конфигурации вашего веб-пакета.
В вашей конфигурации веб-пакета должно быть что-то похожее
// Define useful constants like TNS_WEBPACK
new webpack.DefinePlugin({
"global.TNS_WEBPACK": "true",
"global.SECRET_TOKEN": JSON.stringify(env.secret_token),
"process": undefined,
}),
Так что все вхожденияglobal.SECRET_TOKEN
в вашем фактическом исходном коде будет заменен фактическим токеном, который вы передали в командной строке.
Пока что это не имеет ничего общего с безопасностью, обратный инжиниринг APK может показать весь исходный код и значение токена,Использование минимизаторов, таких как Uglify , делает ваш код трудным для чтения.
На рынке есть много других минимизаторов / обфускаторов, javascript-obfuscator - это один бесплатный инструмент, который я часто видел, как люди используют NativeScript.Все эти инструменты имеют множество опций, и если вы хотите правильно зашифровать свой код, вам, возможно, придется уделить больше внимания этим опциям.
Существуют даже платные инструменты, такие как jscrambler .Использование Обфускаторов не ограничивается NativeScript / JavaScript, даже многие нативные приложения для Android используют Java Obfuscator для предотвращения извлечения исходного кода и конфиденциальной информации из APK.Поэтому использование Обфускатора очень распространено независимо от выбранной вами платформы.
Кроме того, вы можете просто не жестко кодировать свой токен.Вы можете передать некоторое зашифрованное значение в env.secret_token
, а затем написать некоторую сложную функцию, которая может принять это зашифрованное значение и выдать вам фактический токен во время выполнения.Конец дня - все дело в том, чтобы сделать ваш код сложнее взломать.