技术解析

为何 Joplin 的作者们都这么固执
0
2021-06-01 14:27:05
idczone

最近为知会员提示即将到期,基于为知对 markdown 编辑器的落后以及使用一年中遇到不少问题(有反馈),想换个笔记。留意到了 joplin 感觉很不错,特别是多端使用,有本地化端到端加密功能,编辑器初步使用起来也没发现什么 bug 。可是它没有对笔记加锁的功能。

插个题外话,这个加锁功能,在现有的知名云笔记中其实也很少见,唯一见到有的是有道和为知,有道的实现方式是请求服务器密码校验,为知应该是通过证书密码校验并定期更新和同步证书,这两种实现方式各有利弊,且两款笔记的其他基础功能在深入使用后发觉也不尽人意,印象是全锁,这种与“单个笔记加锁”完全是两个需求场景。

抱着希望的心情想向 joplin 提交一下这个建议,毕竟好歹也是个开源项目。然后发现,这个需求在 2 年前就已经被提出! https://github.com/laurent22/joplin/issues/289 现在对新功能的建议提交都转到这个地方讨论了 https://discourse.joplinapp.org/t/is-it-p美国服务器ossible-to-password-lock-the-application-upon-opening/122/13

看完后我哭笑不得,貌似作者们一直不愿意添加这个功能,他认为:

  • 这种加锁,并没有加密作用,已经有端对端加密了,现有的方式才是更加可靠的加密;
  • 如果不想别人看到你的笔记,就请锁好自己电脑,或者用一些第三方软件锁定软件或 APP

我感觉作者们对这个需求一直理解错误,或者不愿意去理解。对单个笔记加锁,是不少特殊使用场景都需要用到的功能,而且不少用户都说明了这样的场景,但他们就是不干,有点类似程序员有时候无脑反驳产品经理的需求那样。


十分感谢你的贡献!我是 BILIBILI-HELPER 的忠实用户!能理解你的感受,不得不说,在国内信息时代到来之后,因为初期对版权管理的不成熟,“白用软件”这个意识要远远先于“开源精神”出现,直到今天为止,“白用软件”依然是大部分人潜意识里存在的。直接去问,人人都会说“我支持开源”,但是不经意间就会在交流中流露出来“白用软件我最棒”的思维。

他没有答应你,你干嘛不就此给他上一课呢?
你完全可以 fork 一支然后雇人搞定,然后呢包装一下当作付费软件卖出去,付费的
此时,原团队就会因为你这个无良盈利办法而主动在原 repo 上增加软件加密功能
教他们做人.jpg

你甚至可以把单个笔记加锁功能模块卖给原团队
毕竟那是你和你雇的团队的 “知识产权”
若他们馋你,他们是不能白用的奥力给,坑他们一笔
若他们不馋你,你可以继续卖,坑客户的钱奥力给

这不得加钱?我猜楼主肯定不舍得花钱

" 我希望你破解了 /t/776529 这个再说,这就是个通过业界标 AES 加密的普通文本。"
我帮你科普一下吧,解密文本分三个等级。
1. 最安全的就是你引用的这贴,包括我的友情联动贴,因为解密结果有效性无法得到验证,你连跑个字典都没办法。
2. 类似 WinRAR 之类的文本加密,有校验机制,可以跑个字典。密码能不能跑出来,完全听天由命,和密码强弱正相关。
3. 最不安全就是你们说的调用系统加密 API,因为调用 API 这个步骤中,必然会传进用户密钥,是最容易泄漏的薄弱环节, 我才会顺带提到虚拟机加壳之类技术,你好像完全不能理解这点。

自己搞就得了
不然開源幹什麼

先不说你的需求合理不合理,
人家一个开源项目,为啥要听你的

你提到的和这个帖子里的毫无关系。我调用系统 API,使用 AES 加密,对我的文本进行了加密,请问你怎么破解?
你一直再说你能 hook 我对这个系统 API 的调用,但是当你能做到这一点的时候,我怎么保护都没有意义了,你大可以监控我的屏幕键盘来拿到一切。
所以这个说的加密就是保证一个文本在被他人拿到的时候,他人无法获取到明文,我看你才是无法理解这个帖子在讨论什么的那个。

不过从你讨论文本加密用 WinRAR 开始,其实前面几楼说你“密码学民科”我觉得没啥问题了。


我写帖子和写代码一样,是给别人看的,就需要用 WinRAR 这种通俗易懂,大家都能看懂的方式。
我知道你用 PGP 加密文本,看不起 WinRAR 。
可你再看不起,同样也无法破解 RAR 的高强度密码文本。

我没说我能破解 RAR 。你方便回应一下我上面的问题嘛?我用系统 API,通过 AES 对我的 Joplin 文本进行了加密,你怎么破解?

"我用系统 API,通过 AES 对我的 Joplin 文本进行了加密,你怎么破解?"
先要确定一下"破解"的前提条件:任何软件被破解,都是基于被第三方修改官方发布的程序二进制代码。
所以我是可以对你程序和 AES 代码入口下断点的,破解以 openssl 举例( https://github.com/openssl/openssl/blob/master/crypto/aes/aes_core.c),大片的 Te0/Te1/Te2 预定义数组,在程序里有非常高的辨识度,可以轻松定位到 AES_set_decrypt_key 函数入口,hook api 直接在用户运行软件时,获取最关键的 AES_KEY 。

好。你可以在我运行时,拿到我机器的 admin 权限,那你的虚拟机、加壳等方案有在任何程度上解决这个问题吗?只要通过录屏监控键盘一样可以拿到数据。

录屏监控键盘那属于病毒范畴了,系统级监控程序通常会被 Windows Defender 杀掉。
我说的是 XCode Ghost 那种冒仿软件,谁知道未来会不会冒出一个 Joplin Ghost 。
正常破解软件,指的都是修改单个软件,肯定不是全局操作系统监控。

好。对于这个开源的 Joplin,你要怎么加壳、虚拟机才能保证我造不出 Joplin Ghost ?
退一步讲,我一行代码改不了你这个加了壳的非开源版 Joplin,我在外面套一个我的壳,就干一件事记录键盘输入。我一个应用读取键盘输入天经地义把?难道加了壳的非开源版 Joplin 能够保证安全吗?
多提一句,事实上现在对于你这个“ XCode Ghost ”类似的问题,解决方案通常是数字签名或者 PGP/SHA 验证来防篡改,而不是通过加壳或者虚拟机来规避、绕过这个问题。
我不知道你这些知识的来源是什么,但是从你讨论的内容十分偏实践来看,可能是 52pojie 之类的,我的建议是可以多看看有关密码学方面的书。

之前搜过一圈,用 md 的基本没这种加密
主要是不完全信任自己的设备,希望软件能内置一下加密,运行时再解密,不要大摇大摆的把文件直接放在硬盘里等着被扫

你觉得,那你就自己搞啊,别人不接受就是别人固执,这什么逻辑!!!

开源项目嘛,维护者不想写你可以写了给他 pr 啊

开源的目的: 我好像需要一个 xx,但是市面上好像没有,我写一个吧..
诶..好像有点好用...那么放出去给大家用吧...大家一起添砖加瓦

实际:开源之后,我要那个..我要这个

这是开源项目,觉得不爽自己写

自己的电脑锁那么多不烦吗?我在办公室连 bitwarden 都设置永远不锁。养成习惯 afk 就锁定电脑即可。

所以到底是谁固执了

难得看见这么热烈回复的帖子了,请楼主不要惹毛 Joplin 作者,我就靠这个活了

我把标题改改吧.
标题:为何腾讯公司那么固执
内容:
我希望 微信 增加消息已读标记,为什么不加.我都跟他们客服提过了,我发现网上也有其他人提过了
为什么他们就是不加.为什么那么固执?我觉得这个功能特别有用.

别用 joplin !会丢数据。记得备份。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服