今天给大家推荐一个超级实用的开源工具——buildby(原 desktop-app-build-by)。
无论你是 macOS 还是 Windows 用户,面对安装的各种桌面应用,你是否好奇:这个 App 是用 Electron 开发的吗?用了 Flutter 还是 Tauri?代码签名是否安全?Apple 是否已公证? buildby 能帮你快速解答这些问题!

buildby 网站截图
一、buildby 核心特色
- 精准技术栈检测:支持 Electron、Flutter、Tauri、Qt、JVM、CEF、.NET、NW.js、React Native、wxWidgets、Unity 以及原生(Swift/Objective-C/Win32)等多种框架。
- 签名与公证信息:单应用检查时自动显示开发者、Team ID、签名状态、Hardened Runtime、Apple 公证(macOS)或 Authenticode(Windows)信息。
- 高效扫描:支持单个 App 查询、全盘扫描(–all)、按技术栈过滤。使用本地缓存,重复扫描几乎秒出结果。
- 零权限、无侵入:纯文件系统扫描,无需管理员权限,安全轻量。
- 跨平台支持:macOS 和 Windows 原生适配,输出清晰友好,支持中英文。
通过 buildby,你可以快速了解自己的电脑里有多少 Electron App(占内存大户),或评估某个 App 的安全性,非常适合开发者、运维和安全爱好者。
二、如何安装与部署(超简单)
方式一:npm 全局安装(推荐)
Bash
npm i -g @wavever/buildby
方式二:从源码安装
Bash
git clone https://github.com/wavever/buildby.git
cd buildby
npm install
npm link
安装后,直接在终端输入 buildby 即可使用。Node.js 版本要求 >=18。
配置可选:首次运行会自动生成配置文件(~/.buildby/config.json),可设置缓存开关和排除应用列表。

三、工作原理(简单透明)
buildby 的检测完全基于文件系统特征,无需反编译或高权限:
- 框架目录扫描:检查 App 的 Frameworks 目录下是否有 Electron Framework.framework、FlutterMacOS.framework、Qt*.framework 等标志性文件。
- 资源文件匹配:查找 app.asar、flutter_assets、app.nw 等特征文件。
- 特定技术识别:如 Tauri 通过 otool/WebView 链接,JVM 通过 .jar 和 JRE 目录,.NET 通过 coreclr.dll 等。
- 元数据提取:解析 Info.plist(macOS)或对应文件获取 Bundle ID、版本等。
- 签名检查:macOS 调用 codesign 和 spctl,Windows 使用 PowerShell Get-AuthenticodeSignature。
- 优先级与回退:按特征明显程度优先匹配,未匹配的归类为 Native。
整个过程快速可靠,批量扫描还会利用缓存加速。
四、使用示例
- 单个 App:buildby wechat 或 buildby discord
- 全盘扫描:buildby –all(生成技术栈分布图)
- 过滤 Electron:buildby -e
- 指定路径:buildby –path /Applications/XXX.app
输出示例清晰直观,一目了然。