没想到吧?我竟然改了微信公众号源码!
周五元宵佳节的红包解密活动:《卧槽!有人在发大红包!》超出了我的预计,文章发出差不多一个多小时后,已经有30+朋友解了出来,是不是题目太简单了?
不少读者和群友都在留言让我写一写解密教程,这不,这就来了~
先回顾一下红包规则:
红包的秘密被我藏在了一个二维码中,二维码又被拆成了四部分,你需要做的就是找到这四部分碎片,拼出一个完整的二维码,直通领红包的入口
第一部分
第一部分放在了压缩包里,你只需要回答出谜语就能拿到它。
谜面:两边都是路,路口又分路,越往左越窄,越往右越宽
(打一数据结构名字,5个字)
打一数据结构,就那么几种啊:
数组、链表、树、图、队列、堆、栈、哈希表···
再结合谜面前两句,两边都是路,路口又分路,很自然的想到是二叉树。
但提示是5个字,再看后半句,越往左越窄,越往右越宽,意思是树的一边越来越小,另一边越来越大,这不就是BST嘛!五个字就是:二叉搜索树。
看到评论真是着急啊:
这几位朋友有必要回去复习一下二叉树的相关知识了
用二叉搜索树解开压缩包,拿到第一部分:
第二部分
第二部分是从「小白学黑客」这个公众号拿取,你需要的就是一个关键字。
谜面:连赢十场!
打一操作系统名字(5个字母)
我看了下后台的留言,各种答案都有:
真是让我哭笑不得,这是一道送分题啊!连赢十场=Win10
轻松拿到第二部分:
第三部分
前两部分都很简单,分分钟都秒了,可能很多朋友都被困在了第三关。
谜面:不识庐山真面目,只缘身在此山中。
这句诗有点让人琢磨不透,没事,咱们先放一下,看看第四部分再说。
第四部分
第四部分的图片,藏在了数据包之中:
一些朋友反馈说不会用Wireshark,其实不管什么技术栈的朋友,哪怕是前端,都可以学着用Wireshark来抓抓包,学习一下在工具下分析计算机网络书本上看到的网络协议。
在书本上或者网络上看来的网络知识,永远也比不上自己抓包实践来的深刻,所谓纸上得来终觉浅,绝知此事要躬行嘛!
好了,不扯远了,在Wireshark中,很快你会发现,这里面有两个TCP会话,应用层都是HTTP协议。
第一个:
标准的TCP三次握手开头+四次挥手结尾,中间一个HTTP的Request和Response。用Wireshark的追踪流功能,看一下这个HTTP会话传了什么内容:
注意咯注意咯,我提示过,这个数据包中有第三部分的线索,就是我框起来的部分啦!我把它放到了Cookie中。
read wechat official article source code
阅读微信公众号文章源代码
第三部分被我藏在了那篇公众号文章的源代码中,所以第三部分的谜面:不识庐山真面目,只缘身在此山中,说的就是这个意思。
在手机和客户端中咱们不方便看源码,把文章链接复制后,在浏览器中打开,就能看到源码了!
第三部分就现出原形了~
可能你很好奇,微信公众号的源码我是怎么能操作的呢?
这多亏了壹伴这个公众号编辑插件,在学会用markdown之前,我都是用这玩意来排版的。
点击查看源代码,文章的源码就出现了:
好了,最后就是第四部分了。
在哪里呢?这不是还有另外一个HTTP会话嘛!
请求了一个4.png,明显的不能再明显了!
找到HTTP响应包,定位到传输的图片文件字段,使用Wireshark的数据解码功能:
第四部分的图片立马出现在我们眼前:
其实从这里你也可以看到,HTTP的网站通信内容都是可以轻易被看到和还原的,非常不安全,所以这也是为什么主流网站现在基本上都上了HTTPS的原因。
至此,四部分内容全部集齐,接下来就是把它们拼在一起了!
让我没想到的是,还是有人倒在了这里😂😂😂😂
很多人抱怨:不会用PS啊!
拼个图这种事情就不必请PS出山了,用PPT就可以了啊~
四图归一,真相大白!
结尾的话
做公众号至今,红包解密活动我已经开展了4次了,前三次的链接回顾:
端午节的粽子:
粉丝破万活动:
中秋节的月饼:
还有就是这次元宵节的元宵了。
可能有人会说:现在免费发红包都没人愿意领,你搞这么复杂,更没人玩了。
这话说的没毛病,但我总觉得,凭自己能力赢来的红包,总比靠运气抽奖来的更开心吧?另外轩辕以前参加过不少类似的CTF竞赛,线上的线下的都有,早已把这当成是一种乐趣,重要是探索的这个过程,在游戏中学习技术知识,何乐而不为呢?
好了,这次的活动就结束了,麻烦大家动动手指投投票,方便我收集一些大家的反馈,为以后的活动做的更好,谢谢朋友萌~
或者你有什么建议也可以留言告诉我呀
最后给大家留一个问题:在最后这个数据包中,TCP传输的负载数据长度长达20KB,但是咱们常见的都是一千多个字节嘛,这是为什么呢?