预编译Chromium ASan二进制文件如何启用谷歌服务访问?
预编译Chromium ASan二进制启用谷歌服务访问权限方案
官方放出的预编译Chromium ASan构建属于无品牌标识的测试构建,默认未内置谷歌服务(账号同步、密码同步等)所需的合法API密钥、OAuth客户端凭证,直接启动无法正常登录谷歌账号、调用相关服务,可通过以下方法解决,所有方法均不会破坏ASan插桩逻辑,不影响漏洞复现准确性:
- 环境变量覆盖法(最推荐,无需修改二进制文件)
Chromium启动时会优先读取系统环境变量中的谷歌服务配置,覆盖二进制内置的无效默认值,操作步骤如下:- 自行前往谷歌云控制台创建项目,启用Chrome Sync、Google Identity等和账号服务相关的API,创建类型为「已安装应用」的OAuth2.0客户端,获取三个核心参数:
GOOGLE_API_KEY、GOOGLE_DEFAULT_CLIENT_ID、GOOGLE_DEFAULT_CLIENT_SECRET - 在ASan版Chromium的根目录新建启动脚本,启动前注入对应环境变量,Windows平台脚本示例如下:
脚本里通过@echo off set GOOGLE_API_KEY=自行申请的API密钥值 set GOOGLE_DEFAULT_CLIENT_ID=自行申请的客户端ID值 set GOOGLE_DEFAULT_CLIENT_SECRET=自行申请的客户端密钥值 start chrome.exe --user-data-dir=%~dp0test_profile --allow-chrome-sync-for-testing--user-data-dir指定独立的测试用户目录,避免和本地日常使用的浏览器配置冲突,防止ASan崩溃时损坏个人数据;--allow-chrome-sync-for-testing参数用于绕开高版本Chromium对非官方构建的同步功能限制。 - 自行前往谷歌云控制台创建项目,启用Chrome Sync、Google Identity等和账号服务相关的API,创建类型为「已安装应用」的OAuth2.0客户端,获取三个核心参数:
- 外置配置文件替换法
高版本Chromium ASan构建支持从外置配置文件加载谷歌服务凭证,找到安装包内resources目录下的google_api_keys.json文件,将同大版本号的合法配置填入对应字段即可,无需每次启动时注入环境变量。注意仅替换配置文件即可,不要替换核心的chrome.exe、动态库等二进制文件,否则会直接丢失ASan内存检测能力。
注意事项:不要使用网络上公开传播的共享API密钥,这类密钥大多已被谷歌限流、封禁,大概率无法正常登录,还存在账号数据泄露风险;复现漏洞前不要添加
--no-signin、--disable-sync等会禁用账号服务的启动参数,避免影响复现条件。
内容的提问来源于stack exchange,提问作者base_bad_3
相关产品推荐
相关产品推荐

