Bruno 是个类似 Postman 的发包软件,高级版可以用更多功能,免费版也足够用了。
但是下面记录一下绕过激活的步骤。

拆包

以 macOS 为例。
首先,这是一个 Electron 软件,所以我们打开应用程序文件夹,找到 Bruno 软件,右键显示包内容。
Bruno.app/Contents/Resources/ 找到 app.asar 文件。
复制出来备用。

接下来解包,需要用到 asar 工具,没有的话 npm install -g asar 安装一下。
使用 asar extract app.asar output 解包这个文件,拿到了一堆文件。
绕过激活的关键在 output/src/utils/license.js 这个文件。

绕过

getBrunoLicenseEndpoint 函数内,可以看到有个官方的 API 地址,我改为了本地回环,为了屏蔽软件联网。

激活的部分不用看,直接找到 verifyLicense 函数。
可以看到里面验证了机器码、License 和签名,而且还强制 60 天联网重新激活一次,这太坏了,我们全删掉。

最终这个函数的末尾部分,写成这个样子即可,让 isVerified 为真是就关键。
以及 plan 写成最高级的 ULTIMATE_EDITION

1
2
3
4
5
6
7
8
9
10
11
return {
isVerified: true,
licenseDetails: {
trial: licenseStore.get('trial'),
licenseType: 'personal',
licenseKey: '这部分可以随便写',
email: '这个其实也可以随便写',
deviceId: machineIdSync(),
plan: 'ULTIMATE_EDITION'
}
};

这就绕过好了,不需要手动激活,打开就是激活好的。
如果你乐意,可以搜 isVerified: false 然后全替换成 true

封包

使用 asar pack output app.asar 重新封包,然后替换原来的 app.asar
重启一下软件即可。

查看软件的激活页面,可以看到已经激活了。
如果你不小心点了取消激活,那么你可以在程序数据位置,找到 license.json ,把它删了即可。
macOS 的数据位于 ~/Library/Application Support/bruno/