为开源 IM 做了个需要授权的闭源 JS SDK,请问进行代码混淆是否有意义?

2019-07-16 08:23:49 +08:00
 imndx

我们开发的 IM 解决方案,服务端、Android、iOS 都开源了。

想通过需要授权的 JS SDK 来赚点小钱,现在的问题是如何保证 SDK 不被破解,或者如何能增大破解的难度?

请大家指点一下。

另外,前段代码,混淆、加密是否有意义?

最后,如果你对开源 IM 感兴趣,欢迎围观:

https://github.com/wildfirechat

3418 次点击
所在节点    程序员
32 条回复
imndx
2019-07-16 08:24:38 +08:00
写错了,是前端代码,不是前段代码,sorry
berumotto
2019-07-16 08:31:32 +08:00
前端没有加密可说吧
nnnToTnnn
2019-07-16 08:32:25 +08:00
@imndx 有啊,增加我对这个项目逆向的兴趣
imndx
2019-07-16 08:36:34 +08:00
@nnnToTnnn 好吧,但有个小小的请求呀,逆向仅仅是个人研究学习哈
imndx
2019-07-16 08:37:22 +08:00
@berumotto 我不是专业前端,但听过这种说法。有什么更好的思路不?
k9982874
2019-07-16 08:38:45 +08:00
服务器都开源了 加密 sdk 毫无意义
free9fw
2019-07-16 08:40:26 +08:00
赚钱何必开源,开源了又来收钱
berumotto
2019-07-16 08:43:01 +08:00
@imndx 收费提供技术支持或者分离出一个商业版
nnnToTnnn
2019-07-16 08:44:14 +08:00
@imndx 开源又何必授权 sdk,具体的开源运营模式可参考 Red Hat,为客户提供服务,而不是做授权 sdk,这样做只会各种反编译等等的版本出来,不是限制客户,而是为客户做解决方案,然后你就会钓到大鱼
Rorysky
2019-07-16 08:44:58 +08:00
没啥意义吧,效果和不允许商业使用差不多
imndx
2019-07-16 08:45:47 +08:00
@free9fw 赚钱和开源,不一定是二选一的。红帽子,开源和赚钱都做的很好。
abcbuzhiming
2019-07-16 08:45:53 +08:00
兄弟,收钱不是这么收的,你应该搞一个专门的,高级功能加强版本或定制版,整体闭源,付费服务。
geelaw
2019-07-16 08:46:27 +08:00
所以 JS SDK 是用来做什么的呢?实现 Web 客户端?

我觉得从 Android 和 iOS 客户端的代码很容易 infer 出来 Web 客户端怎么写,所以客户端逻辑不是一个可以(或者说,需要)被保护的对象。因此,所谓“逆向这个 JS SDK ”完全是多此一举——可以直接看其他客户端代码并翻译成 JS。

“破解”的含义也不明确,如果你只是单纯想增加 JS SDK 未被授权的使用难度,有很多 ad-hoc 的技巧,但并不 sound。

很多问题的技术解决方案的成本远远高于法律解决方案,而且有些问题是不存在技术解决方案的。
imndx
2019-07-16 08:48:31 +08:00
@k9982874 是的,服务端开源了,一定是能自己把 JS SDK 写出来的。可能会有没时间,想马上拥有的客户买授权的
imndx
2019-07-16 08:51:47 +08:00
@abcbuzhiming 我们真有个专业版,功能区分度不大,社区版性能又太好了,还没人对专业版感兴趣。谢谢
laravel
2019-07-16 08:52:41 +08:00
还不如做个商业版 —— wildfirechat plus 增加其功能,现在很多开源软件都是这套路
laravel
2019-07-16 08:53:45 +08:00
相近的比如 emqtt 就是一个开源版,一个收费版,我以前问他们老大,人家说一个单子几十万呢,还有别的国家的用户。
k9982874
2019-07-16 08:56:38 +08:00
@imndx #14 可以学一下 twilio,按用量收费,提供一定免费用量。服务器也继续开源,sdk 开不开源就无所谓了。
imndx
2019-07-16 08:59:50 +08:00
@k9982874 谢谢,我去研究下他们是怎么玩。我们这开源的比较完整,完全不知道他们的使用量
imndx
2019-07-16 09:07:58 +08:00
@laravel 谢谢,是的,专业的商业本和社区版得有区分度

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/583286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX