微信红包照片,不给钱怎么看
2016-01-28 凡夫畏果 给产品经理讲技术
微信红包照片昨天席卷朋友圈,我打开的时候,哎呦,全是模糊的图片,我以为自己得了白内障,可吓人了呢:)。
瞬间就有程序员破解了微信的技术实现原理,也就是不花钱看照片,有的妹子还真把大长腿照片往上发啊~
1. 不给钱看到清晰图片的技术原理
对于发照片的人来说,红包照片和普通照片没有任何区别,朋友圈服务器里面存储的就是你发的清晰的图片,只不过发送到朋友圈的时候,客户端告诉了服务器喊话,“这是一张红包照片哦,服务器你别忘记了哦“。
对于看照片的人来说,你进入到朋友圈的那一瞬间,刚才被上传到服务器上的那张清晰照片被拉取回来,但是服务器同时告诉你,“亲,这是一张红包照片哦”,客户端理解“我擦,先别显示,红包照片必须打碼模糊,不能让那帮孙子直接看到底裤”,于是一个高斯模糊的函数被施加在这张图片上了,也就是我们看到的模糊图。当你付款后,客户端把这层处理去掉,你就看到了清晰图,就这么简单。
聪明的程序员就想,既然下发到客户端的是一张普通照片,那我清空所有微信的缓存,重新进入朋友圈的时候,这个时候缓存被清空,会重新去服务器拉取这张照片,这个时候我通过抓包不就拿到了图片的数据了嘛,果然,通过网络抓包,得到图片数据,就看到了那张清晰的图片。
好多亲说,如果从后台下发下来的就已经是模糊的图片不就行了吗?这个时候是没办法直接拿到清晰图片了,但是会影响什么呢?
首先,用户点开一张红包图片的时候,就不会产生一块随机清晰的区域了,没有这种感觉,估计“挑逗性”会大大下降,付款率应该会有下降吧。
再有,如果付了款还要去后台拉一张图片,体验也大大下降,这种延时拉取,不满足用户付款后需要享受的即刻获得的尊贵感,并且对于一张图浪费了两次流量,并且对于后台服务器也是双倍的带宽耗费。我相信这种设计不是漏洞,是综合了多种用户场景和体验平衡的决策。
再说,15亿中国人,会抓包的比例太小了,微信被破解,反而会加大传播广度,太合适了。
2. 为啥客户端没有更新版本,客户端就具备这种能力
这是因为这个功能早就埋到以前的版本中了(即判断是否是一个红包照片以及模糊的处理的代码早就写进客户端了),是由云端指令来控制这个功能是否打开,因为微信一直和后台在保持长链接,所以对每一个客户端下发一个开关指令打开这个功能相当容易,这条指令翻译成人话是这样的“请在今天下午五点打开红包照片功能,直到八点结束,只在这区间生效”。
类似于,16岁的时候你就具备繁衍后代的能力了(早就发布了),只不过一直没有收到国家的许可(云端指令),直到22岁,国家说可以领证了,这个时候你才能做爱做的事情。
阅读 115946 举报