已Root安卓设备如何从移动端文件查找Firebase游戏API Key
已授权本地调试场景下Firebase API Key高效查找方案
所有操作严格限定在开发者正式授权的本地调试范畴内,不涉及商业售卖、线上版本篡改
Firebase 安卓端的API Key有固定识别特征:所有合法的Firebase Android API Key均以AIza作为前缀,长度固定为39位,你可以用这个特征值配合MT管理器的全局文本搜索功能快速定位,具体查找路径按命中优先级从高到低排列:
- 优先检索安装包内的固定配置位置
- 打开你提取的游戏安装包,进入
assets目录,查找Firebase默认配置文件google-services.json,文件内api_key数组下current_key字段对应的字符串就是目标API Key,这是Firebase SDK默认的配置存放路径,90%以上的常规打包场景都会在这里存储密钥。 - 如果assets目录没找到对应文件,进入安装包的
res/values路径,打开strings.xml全局搜索google_api_key、firebase_api_key两个键名,对应的value值就是API Key,部分做过包体精简的游戏会把json配置拆到资源字符串里存储。
- 打开你提取的游戏安装包,进入
- 其次检索root权限下可访问的本地应用存储目录
- 进入你提到的
shard_preferences(实际为应用偏好存储目录shared_prefs的拼写变体),对目录下所有解密的xml文件做全局文本搜索,搜特征值AIza,直接命中的字符串就是API Key,不需要逐个翻找文件。 - 用MT管理器自带的SQLite查看器逐个打开
no_backup目录下的3个数据库文件,遍历所有文本类型字段搜索AIza,部分游戏会把初始化后的Firebase配置持久化存在本地数据库中。 - 如果上面两个位置没找到,再对
app_webview目录下的缓存、localStorage存储文件做全局AIza特征搜索,内嵌WebView加载过Firebase鉴权逻辑时会把密钥存在WebView缓存里。 - 不用浪费时间遍历
app_pccache、app_sslcache、app_textures、app_tmppcache、cache、code_cache这类临时资源目录,这类目录只存运行时临时缓存的纹理、SSL会话、热更资源,不会存储固定的API鉴权密钥。
- 进入你提到的
- 静态检索找不到时用动态抓包兜底
- 在已root的手机上安装抓包工具,将抓包证书安装为系统级信任证书(安卓7以上App默认不信任用户安装的证书,必须装到系统证书目录才能抓HTTPS流量),过滤发往
googleapis.com、firebaseio.com域名的请求,请求参数中key=字段后拼接的字符串就是目标API Key,游戏启动初始化Firebase服务时一定会发起携带该密钥的鉴权请求,不需要等进入游戏主界面就能抓到。
- 在已root的手机上安装抓包工具,将抓包证书安装为系统级信任证书(安卓7以上App默认不信任用户安装的证书,必须装到系统证书目录才能抓HTTPS流量),过滤发往
内容的提问来源于stack exchange,提问作者15 Zuper
相关产品推荐
相关产品推荐

