反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

坚果 Pro2s 京东开卖两周,评论仅1.1万。TNT 预定数量不足100台。但是8月20日锤子科技的产品发布会上,「子弹短信」火了。

但是这个子弹短信到底好不好用呢?正所谓没有调查就没有发言权,作者特意去应用宝下载了子弹短信并重度使用了四天。

界面略显过时且 BUG 较多

拟物风格略显过时

首先是子弹短信的界面,锤子 os 的拟物化是一贯的标志,而子弹短信的状态栏是纯黑的,未经过处理和定义,和 Android4.4(api<19)之前一样,,与 app 整体颜色差别极大。权限还是一次性获取(target<22)。主页选项卡可能是用上古时代的 tabhost 做的以至于切换特别生硬,并且每次切换顶部还会出现大白条,结合着2013年的拟物化风格,在 Android 已经升级为 api28 的2018年显得格格不入。

无处不在的 bug。

例如注册时输错手机号,已经按出发送验证码的情况下,删除一位号码重新输入,验证码倒计时继续,但是 Button 的响应事件却做了恢复,在作者的连续点击下,几秒后收到一连串的短信。

再例如用户分享的群码,在群没满员二维码没过期的状态下,经常失效,使得本来为数不多的加好友方式变得更加困难。

再例如消息通知的 bug,每一个人一个群发送的消息,都在通知栏单条显示,早上起来锤友群的56条通知栏消息着实令我惊讶。

再例如接口的暴露,经网友抓取网络接口,发现子弹短信接口暴露以至于泄露用户信息。 还有各种不经意的闪退小问题暂且不表。

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

子弹短信的使用场景有限。

除了去锤科论坛的锤友间互相加好友取乐(二维码还经常失效),很难找到第二种使用场景。而添加好友形式的单一导致往往打开软件想找个人聊聊天都找不到,即使强大的熟人社交 app 如微信 QQ,也有发现功能,争取用户的留存。而子弹短信却只有输入 id 或者手机号这两种方式才能加到新好友,并没有模糊搜索功能。

用户信息泄漏,存在色情骚扰

而与此同时由于接口的暴露,导致用户信息曝光,经常骗子老鸨之流骚扰用户,卖药卖春,搞得用户很头疼。

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

聊天功能异常流畅,缘于整合网易云信 SDK

但是在各种不厌其烦的功能 bug 和令人窒息的操作手感下,作者发现子弹短信的通信却做得异常流畅,即时通信想要做到如此,所需要的难度及技术积累颇多。而锤子科技作为一个小规模软件团队,是怎么将通信内核做的如此流畅的呢?

带着这些疑问,我逆向拆解了子弹短信 APP:

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

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

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

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

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

子弹短信的 AndroidMainfest.xml

经作者搜索发现,这是网易云信 sdk 的 appid 设定代码

link.zhihu.com/?target=htt…

dev.yunxin.163.com/docs/produc…

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

没错,就是网易云信 sdk。

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

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

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

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

 

反向编译了子弹短信的 APK,核心功能为整合网易云信 SDK

 

 

大家可能不太理解这个意义,一般情况下,选择调用即时通信 sdk 的 app,聊天都是其附加功能,比如蜻蜓 fm 的主要功能是音频系统。顺风,主要功能是送快递。智联招聘,主要功能是人才市场的大数据分类等等,它们的聊天只是一个附加的小功能,而开发即时通讯费财费力,调用即时通讯 sdk 都是很正常的。

而子弹短信,它作为一款专门定义为社交聊天的 app,核心的即时通信功能也是调用即时通信 sdk。并且在短时间内获取了1.5个亿的融资。

结论

子弹短信核心功能调用网易云信 SDK,体验流畅。证明网易云信的服务还是很不错的。子弹短信本身在如此短时间聚集极高热度,除了老罗个人的品牌,产品本身也还算有几分新意吧。

但是 BUG、黄色信息的问题不解决,子弹短信终归昙花一现。


作者:祥子2333
链接:https://juejin.im/post/5b88e3f0e51d4538a752095a
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。