反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK,android 游戏 sdk 开发

子弹短信的使用场景有限。
除了去锤科论坛的锤友间互相加好友取乐(二维码还经常失效),很难找到第二种使用场景。而添加好友形式的单一导致往往打开软件想找个人聊聊天都找不到,即使强大的熟人社交 app 如微信 QQ,也有发现功能,争取用户的留存。而子弹短信却只有输入 id 或者手机号这两种方式才能加到新好友,并没有模糊搜索功能。
用户信息泄漏,存在色情骚扰
而与此同时由于接口的暴露,导致用户信息曝光,经常骗子老鸨之流骚扰用户,卖药卖春,搞得用户很头疼。



聊天功能异常流畅,缘于整合网易云信 SDK
但是在各种不厌其烦的功能 bug 和令人窒息的操作手感下,作者发现子弹短信的通信却做得异常流畅,即时通信想要做到如此,所需要的难度及技术积累颇多。而锤子科技作为一个小规模软件团队,是怎么将通信内核做的如此流畅的呢?
带着这些疑问,我逆向拆解了子弹短信 APP:

打开 apk,没有问题,我们看到了 okhttp,锤子科技作为一家方案整合公司,没有自己的网络框架而采取 okhttp 网络框架也是很正常的,我们用 dex2jar 打开代码看看:

这下就麻烦了,我看到了 com.tencent.StubShell.TxAppEntry,锤子科技上传应用宝,经过了腾讯云的加固,这使得破解工作变得繁琐了一些,正在作者准备大张旗鼓暴力脱壳的时候,突然想到平时研(ctrl)究(c)代码惯了,连常识都忘了,于是作者用 AXMLPrinter 打开了子弹短信 apk 的 AndroidMainFest.xml,果然,发现了一些玄机:

子弹短信的 AndroidMainfest.xml
经作者搜索发现,这是网易云信 sdk 的 appid 设定代码
dev.yunxin.163.com/docs/produc…


没错,就是网易云信 sdk。
子弹短信对外公布融资 1.5 个亿,估值 20 亿,Appstore 第一,核心功能原来是基于网易云信 sdk demo 进行的修改与再创作。

部分页面包含 netease
字段,怀疑是直接采用的网易云信 demo 代码。




大家可能不太理解这个意义,一般情况下,选择调用即时通信 sdk 的 app,聊天都是其附加功能,比如蜻蜓 fm 的主要功能是音频系统。顺风,主要功能是送快递。智联招聘,主要功能是人才市场的大数据分类等等,它们的聊天只是一个附加的小功能,而开发即时通讯费财费力,调用即时通讯 sdk 都是很正常的。而子弹短信,它作为一款专门定义为社交聊天的 app,核心的即时通信功能也是调用即时通信 sdk。并且在短时间内获取了 1.5 个亿的融资。
总结
本文讲解了我对 Android 开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
评论