【问题标题】:flutter firebase cloud functions and reverse engineering - dart compilationflutter firebase云函数和逆向工程——dart编译
【发布时间】:2021-09-16 21:57:54
【问题描述】:

我是 3 季的 Flutter 开发人员,现在正在尝试编译我的小应用程序!我正在使用cloud_functions 包,并且担心一些对大师来说可能听起来很愚蠢的想法。

几周前,我阅读了几篇非常明确地对 Flutter 应用和 dart 引擎进行逆向工程的文章,甚至揭示了原始应用中的字符串。

读完这些文章后,我就明白了为什么对安全问题感兴趣的人总是说“你不能在纯源代码中包含敏感信息,因为你编译的应用程序可以被逆向工程”,并感到害怕。

所以我将所有这些信息迁移到 Firestore 并用简单的安全规则锁定了商店,这里出现了主要问题:

现在,我想知道当我运行构建命令时,我用 js 编写的云函数的源代码是否会一起编译。该目录通常命名为functions,我们可以在目录中找到index.js,其中包含非常敏感的信息,例如可调用函数的名称或哈希方法中使用的核心字符串。

如果 dart 编译过程中包含functions 文件夹,攻击者就有可能在index.js 中找出这些重要信息。 IMO,用构建方法这样做是不合理的,所以我不必担心。

但我只是想通过这个简单的问题向专家表明我的index.js 已经安全了!提前致谢 [:

【问题讨论】:

    标签: flutter dart compilation google-cloud-functions reverse-engineering


    【解决方案1】:

    您的 Cloud Functions 代码存储在 Google 的服务器上。

    这是来自 Cloud Functions 的引用 documentation

    您的 JavaScript 或 TypeScript 代码存储在 Google 的云端并在托管环境中运行。 无需管理和扩展您自己的服务器。

    对于您关于逆向工程的问题,Cloud Functions 也可以提供帮助。

    在许多情况下,开发人员更喜欢在 服务器以避免在客户端被篡改。另外,有时候不是 希望允许对该代码进行逆向工程。云函数 与客户端完全隔离,因此您可以确定它是私有的 并且总是做你想做的事。

    https://firebase.google.com/docs/functions#key_capabilities

    【讨论】:

    • 我的问题比我预期的完全不合逻辑。你的回答够酷!在这种情况下,我什至可以删除firebase deploy --only functions 之后的整个 index.js 文本,然后运行 ​​dart 编译命令,即使该命令包含 js 文件。事情现在清楚多了!非常感谢[:
    猜你喜欢
    • 2011-07-13
    • 2012-02-15
    • 1970-01-01
    • 2012-03-12
    • 2020-07-29
    • 2019-11-08
    • 2012-01-16
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多