第一层是前端设置页是否显示 Fast 入口。
第二层是 Electron 启动时对 asar 完整性和相关行为的 fuse 限制。
只改 config.toml 通常不够。
在相近版本里,目标文件通常位于:
Contents/Resources/app.asar
-> webview/assets/general-settings-*.js
目标 bundle 的典型特征:
- 文件名是
general-settings-*.js - 内容里能搜到
statsig_default_enable_features - 同一段附近会出现
fast_mode - 判断逻辑会把
authMethod === chatgpt也纳入限制
当前这版命中的替换片段是:
):r=e[2],r}function Dt(e){return e===`chatgpt`}
替换后变成:
):r=e[2],true}function Dt(e){return e===`chatgpt`}
也就是直接强制返回 true,让设置页显示 fast 入口。
即使前端入口放开,应用仍可能因为 Electron fuse 而在启动时崩溃或拒绝加载修改后的 asar。
这次实际需要关闭的 4 个 fuse:
GrantFileProtocolExtraPrivilegesEnableCookieEncryptionOnlyLoadAppFromAsarEnableEmbeddedAsarIntegrityValidation
在 Electron fuse v1 wire 里,对应的位序可按当前工具包理解为:
0 RunAsNode
1 EnableCookieEncryption
2 EnableNodeOptionsEnvironmentVariable
3 EnableNodeCliInspectArguments
4 EnableEmbeddedAsarIntegrityValidation
5 OnlyLoadAppFromAsar
6 LoadBrowserProcessSpecificV8Snapshot
7 GrantFileProtocolExtraPrivileges
general-settings补丁已写入- fuse wire 至少在上面那 4 位是
0 codesign --verify --deep --strict通过Codex.app能重新打开
下面这些情况需要重新分析,而不是直接套工具包:
general-settings-*.js不再出现statsig_default_enable_features- 目标片段不再匹配
Electron Framework里找不到 fuse sentinel- fuse 版本不再是 v1