Firebase App Check 是不是允许编译版本的 apk 文件?

Posted

技术标签:

【中文标题】Firebase App Check 是不是允许编译版本的 apk 文件?【英文标题】:Will decompiled version of an apk file be allowed by Firbase App Check?Firebase App Check 是否允许编译版本的 apk 文件? 【发布时间】:2021-08-26 12:15:27 【问题描述】:

Firebase 应用检查是一项很棒的功能。它确保只允许来自 my 应用程序的请求。但是,如果我的应用被反编译,源代码稍作修改,并创建了一个新的 APK,会发生什么? Firebase App Check 是否允许从该版本发出的请求?

【问题讨论】:

我认为这行不通,因为 SHA-256 不匹配。不过不确定。 【参考方案1】:

Firebase App检查的基本步骤如下:

在 Firebase 控制台的“项目设置”>“应用检查”部分中,通过 SafetyNet 提供商注册您的应用以使用“应用检查”。您需要提供应用签名证书的 SHA-256 指纹。

您可以通过设备提供SHA-256 fingerprint,因此如果有人确实反编译了您的应用并创建了新的 APK,则指纹将不匹配,除非有人专门从您的设备完成。

我认为在大多数情况下你会没事的。您可以在这里阅读更多内容

https://firebase.google.com/docs/app-check

【讨论】:

它仍然可以被伪造,只是需要更多的工作。如果有人愿意麻烦对其进行逆向工程,他们可以在您的真实版本中找到 Firebase 作为指纹发送的值,并更改 Firebase 客户端库以在所有情况下都发送该值。您永远无法完全信任客户数据。 但是它们能阻止原始应用(使用原始 SHA-256 指纹)连接到 Firebase 吗?

以上是关于Firebase App Check 是不是允许编译版本的 apk 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 Angular 12 应用程序中实现 firebase app-check

app.default.firebase 不是函数错误

TypeError:未定义不是一个对象(评估'_app.firebase.apps')

在 Flutter Web 和移动应用中使用 Firebase

firebase_app__WEBPACK_IMPORTED_MODULE_5__.app(...).functions 不是函数

如果我在应用程序中使用 Firebase 集成,Google 是不是允许在 Google Play 中批准我的应用程序? [关闭]