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

640?wx_fmt=gif

热文导读 | 点击标题阅读

金九银十跳槽季如何进阶找到合适满意的工作?

15 年没写代码,濒临被裁,50 岁开发者如何绝地求生?

2018 年 8 月面试路:6 天 21 家公司

作者:祥子

原文:https://www.zhihu.com/question/292330971/answer/482317265

坚果 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条通知栏消息着实令我惊讶。


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

640?wx_fmt=other

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

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

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

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

640?wx_fmt=other

640?wx_fmt=other

640?wx_fmt=other

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

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

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

640?wx_fmt=other

640?wx_fmt=other



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

640?wx_fmt=other

子弹短信的 AndroidMainfest.xml


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

link.zhihu.com/?target=htt…

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


640?wx_fmt=other

640?wx_fmt=other

没错,就是网易云信 sdk。

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


640?wx_fmt=other

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

640?wx_fmt=other

640?wx_fmt=other

640?wx_fmt=other

640?wx_fmt=other

 妈妈常教导我,让我养成良好习惯。这样长大才能成为一个有用的人。良好的习惯是尊敬师长这样长大才能成为一个有用的人。良好的习惯是尊敬师长,爱护同学,对人有礼貌;是不粗心,做事情不拖拉;还是爱护公物,不浪费粮食。为什么呢?因为拥有良好习惯,做一个品德高尚的人,懂得尊重别人,才会得到别人的尊重。我要努力地做到这些。我有一些坏习惯,有时候学习很粗心,把一些会做的题做错。在生活上,也很粗心,有一次早上起床居然穿反了衣服。我吃饭很慢,有的时候还剩饭。我还起床磨蹭,本来应该迅速地穿好衣服,但是,我总是磨磨蹭蹭地,速度很慢。我打算在这学期里,改掉这些坏习惯。早上起来,迅速地穿好衣服,不拖拉。学习不粗心,仔细完成每一道题。吃饭的时候,要很快的把饭吃完,不剩饭。我要从一点一滴做起,逐渐养成良好习惯。我相信自己一定能成为一名品学兼优的好学生!我打算在这学期里,改掉这些坏习惯。早上起来,迅速地穿好衣服,不拖拉。学习不粗心,仔细完成每一道题。吃饭的时候,要很快的把饭吃完,不剩饭。我要从一点一滴做起,逐渐养成良好习惯。我相信自己一定能成为一名品学兼优的好学生!  在上幼儿园以前,我什么也不会干,就连穿衣服也是妈妈给我穿好,就要上幼儿园了,这样可不行,妈妈锻炼我要学会自己穿衣服。   有一天,妈妈把衣服摆在我面前,开始让我自己穿。一开始。我又哭又叫就是不穿,还把衣服扔的满地都是,然后坐在地上开始大哭,等了好长时间,妈妈还是不理我,我只好自己乖乖的把衣服穿好, 一出了房间门,妈妈就笑了起来,再看看我的衣服,毛衣和裤子都穿反了,我赶紧回房间又重新穿了一遍,这次穿好了,拿起外套,可是外套的扣子又扣不上了,扣子可调皮了,好像故意和我作对,我把扣子往扣眼——人类邪恶的根源;爱情——幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话:幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话亲爱的!擦干你的眼泪,至高无上的爱情已经打开了我们的眼界,使我们成了它的崇拜者。是它,





 妈妈常教导我,让我养成良好习惯。这样长大才能成为一个有用的人。良好的习惯是尊敬师长这样长大才能成为一个有用的人。良好的习惯是尊敬师长,爱护同学,对人有礼貌;是不粗心,做事情不拖拉;还是爱护公物,不浪费粮食。为什么呢?因为拥有良好习惯,做一个品德高尚的人,懂得尊重别人,才会得到别人的尊重。我要努力地做到这些。我有一些坏习惯,有时候学习很粗心,把一些会做的题做错。在生活上,也很粗心,有一次早上起床居然穿反了衣服。我吃饭很慢,有的时候还剩饭。我还起床磨蹭,本来应该迅速地穿好衣服,但是,我总是磨磨蹭蹭地,速度很慢。我打算在这学期里,改掉这些坏习惯。早上起来,迅速地穿好衣服,不拖拉。学习不粗心,仔细完成每一道题。吃饭的时候,要很快的把饭吃完,不剩饭。我要从一点一滴做起,逐渐养成良好习惯。我相信自己一定能成为一名品学兼优的好学生!我打算在这学期里,改掉这些坏习惯。早上起来,迅速地穿好衣服,不拖拉。学习不粗心,仔细完成每一道题。吃饭的时候,要很快的把饭吃完,不剩饭。我要从一点一滴做起,逐渐养成良好习惯。我相信自己一定能成为一名品学兼优的好学生!  在上幼儿园以前,我什么也不会干,就连穿衣服也是妈妈给我穿好,就要上幼儿园了,这样可不行,妈妈锻炼我要学会自己穿衣服。   有一天,妈妈把衣服摆在我面前,开始让我自己穿。一开始。我又哭又叫就是不穿,还把衣服扔的满地都是,然后坐在地上开始大哭,等了好长时间,妈妈还是不理我,我只好自己乖乖的把衣服穿好, 一出了房间门,妈妈就笑了起来,再看看我的衣服,毛衣和裤子都穿反了,我赶紧回房间又重新穿了一遍,这次穿好了,拿起外套,可是外套的扣子又扣不上了,扣子可调皮了,好像故意和我作对,我把扣子往扣眼——人类邪恶的根源;爱情——幸福和光明的源泉。我一直在这些思想的舞台上徘徊。突然我发现两个身影从我面前经过,坐在不远的草地上。这是一对从农田那边走过来的青年男女。农田那边有农民的茅舍。在一阵令人伤心的沉默之后,随着一声长叹,我听见从一个肺痨病人的嘴里说出了这样的话:亲爱的!擦干你的眼泪,至高无上的爱情已经打开了我们的眼界,使我们成了它的崇拜者。是它,


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

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


结论

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

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

你有什么想说的?欢迎留言区留言讨论!

你有好的文章想和大家分享欢迎投稿,直接向我投递文章链接即可


最后,欢迎大家加入我们的知识星球,这期是到2019年3月10日结束,所以越早加入越好,现在加入的球友快1000人了,到1000人时将大幅提价(还有最后几十个名额了),所以快上车!

640?wx_fmt=jpeg

微信扫描或者点击上方二维码领取Android\Python\AI\Java等高级进阶资源

更多学习资料点击下面的“阅读原文”获取

640?wx_fmt=gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值