SuperAPI AI 工具集

baoyu-electron-extract

通用与其它

查看项目

更新于 10-15 21:47

技能介绍

用途:用于查看已安装 Electron 应用内部的打包代码,可从 app.asar 解包资源与 JavaScript,并在存在 .js.map 时还原原始源码。

主要能力:解析 app.asar;当 .js.map 内嵌 sourcesContent 时重建原始源码树到 restored/;无可用映射的 JS/CSS 用 Prettier 就地格式化写入 extracted/;复制 app.asar.unpacked/;处理 source-map 路径,去除 webpack://、file://、?loader 等修饰,将 ../ 相对路径还原为可读路径;始终跳过 node_modules。

使用方式:脚本位于 scripts/ 下,{baseDir} 为该 SKILL.md 目录。解析 ${BUN_X}:装了 bun 用 bun,有 npx 用 npx -y bun,否则建议安装 bun。基本命令:${BUN_X} {baseDir}/scripts/main.ts "<app>" [--output <dir>] [--asar <path>] [--force]。支持传应用名或绝对路径,如 Codex、/Applications/Visual Studio Code.app、Windows 安装目录或 .asar 文件。先跑 --dry-run 可只打印解析路径不写盘。可选参数包括 --output/-o、--asar、--force/-f、--skip-format、--skip-restore、--no-unpacked、--dry-run、--json。

输出布局:默认目录 ~/Downloads/<AppName>-electron-extract/,内含 extract-report.json、extracted/、extracted.unpacked/,以及(至少一个 .js.map 可用时)restored/。

限制:source-map 还原仅在 .js.map 内嵌 sourcesContent 时有效,否则跳过并改为格式化,跳过项记入 extract-report.json 的 warnings。应用发现仅覆盖 macOS 的 /Applications、~/Applications 与 Windows 的 %LOCALAPPDATA%\Programs、%PROGRAMFILES%、%PROGRAMFILES(X86)%、%APPDATA%;Linux 等平台需显式传 --asar。多个匹配时脚本列出候选并非零退出,需改用绝对路径。输出目录已存在且非空时须加 --force。不写入 /、用户主目录或当前工作目录。不全局安装,@electron/asar 与 prettier 通过 npx -y 即时解析,首次较慢。如需询问用户,优先使用当前运行时内置的用户输入工具,否则用编号纯文本提问。