打包 irreader RSS reader 的经历

版本概述

irreader 有 2 个版本,1.5.9 以及最新版。

第一部分:1.5.9 版本的升级

初始情况

1.5.9 是最后一个免费版,源码也没混淆,但是作者是用电子 v1 开发的
没办法,官网推荐的安装方法就是 sudo npm i -g electron

升级过程

升级电子就一堆 breaking change。经过一段时间的 patch, 升到了电子 11, 能正常使用了。

技术细节

  • AUR 有电子 1-latest 的所有 -bin 的包
  • sqlite3 在新版本时有 napi ,不需要折腾 node-gyp,只需要去拉二进制
  • bsdtar 可以直接解 exe 的包, bsdtar -xvpf *.exe ,而且是 linux 附带的。虽然 xkcd 经典笑话。

配置修改

解压完后把 asar 也解压了,就能 patch 了。
12 开始有神奇的无法理解的 bug, 就不管了。

第二部分:最新版订阅限制修复

但是一直想修好最新版的限制订阅数的 "bug"。
和 TG 群里的某佬 https://github.com/pionxzh 交流后,ta 告诉我
notion image
前面其实就是构建一个大 array 后面的 function 只是进去拿 value 所以手工做法是 evaluate 前段代码 构造出 _0x19a3 后可以正则匹配替换

解决方案

可以用网站 de4js 进行反混淆。
经过测试
notion image
就可以反混淆。随便挑了几个文件后。
问题解决了。

技术讨论

草,最高级的修改是不修改
xs 赞美 cjs 是吧
是啊,electron 至今只能用 cjs, 方便修改了x 这一行代码价值几百块呢x
但是还是那句话,加一行只要几秒,知道在哪加就。。 代码写出来一行,知道为啥写就不是几行的事了x

附录:openwebmonitor4 相关技巧

openwebmonitor4 同理。利用
2
ii. NOTE: If there are multiple function declarations for the same name, the last declaration is used.
的原理覆盖掉定义。
 
Loading...
Steven Lynn
Steven Lynn
喂马、劈柴、周游世界
最新发布
我与 Dify 的半年
2025-3-9
我的2022年终小结
2024-11-9
记录雅思考试经历与一点学习心得
2024-11-9
Hackergame 2024 思路小结
2024-11-9
黑客松、日本、入职:我的2024下半年的总结
2024-11-9
NotionNext:基于Notion和NextJS的开源博客
2024-11-9