notable禁用更新

思路
从1.5.x版本的源码(还是开源的)中找到更新检查的位置在文件中src/main/app.ts类似:

__updaterCheck = async ( notifications: Event | boolean = false ) => {}

发现这个方法貌似是更新的实现,也被多次调用,软件中有启动更新、定时更新、通过按钮更新 这几种途径估计可能都是走这个方法。配置项中也发现有updater这样的字样,如果能在反编译后的源码中找到update相关的方法然后修改下可能可以禁用更新。

操作

安装反编译工具:

npm install -g asar

在安装目录找到C:\Users\{user}\AppData\Local\Programs\notable\resources\app.asar 反编译app.asar文件:

asar extract ./app.asar ./app

反编译得到main/main.js,在里面搜索 updater.run 发现有类似的逻辑:

'updater.run': async (n,e) => {...}

这个方法应该就是去检查更新的,把方法体改成:

{
'updater.run': (n, e) => {}
}

重新打包并替换app.asar:

rm -f app.asar
asar pack ./app  ./app.asar

重启notable就不再提示更新了。

附件下载

posted @ 2022-02-21 17:57  oaksharks  阅读(104)  评论(0编辑  收藏  举报