bilibili播放器彩蛋

这个是9ch的一位技术宅最先发现的(一般没有人蛋疼想到把播放器反编译吧…)

过程大致如下:

随便打开一个B站的视频页面,查看页面的源代码:

这段就是Flash播放器的代码,得知播放器所在路径为http://static.loli.my/play.swf

用下载软件下载过来,打开硕思闪客精灵,反编译

在名为play的AS文件中找到1048行的onSend()函数(根据名称应该是在发送弹幕时响应事件),我们所需要的主要代码如下:

if (this.cti.text.indexOf("瞎了我的狗眼") > -1 || this.cti.text == "my eyes!!!" || this.cti.text.indexOf("打开方式错") > -1)  
            {
                this.nsm.video.filters = [new BlurFilter(20, 20, 1)];
            }
            else if (this.cti.text == "我有霸气爷们眼" || this.cti.text.indexOf("双眼一亮") > -1 || this.cti.text.indexOf("我做好瞎狗眼的觉悟了") > -1 || this.cti.text.indexOf("变态有什么错的") > -1 || this.cti.text.indexOf("狗眼是拿来抛弃的东西") > -1)
            {
                this.nsm.video.filters = null;
            }
            if (this.cti.text.indexOf("撸多了会双眼模糊") > -1)
            {
                this.nsm.filters = [new BlurFilter(4, 4, 1)];
            }
            if (this.cti.text.indexOf("不要平滑") > -1)
            {
                this.nsm.smoothing = false;
            }
            else if (this.cti.text.indexOf("给爷平滑") > -1)
            {
                this.nsm.smoothing = true;
            }
            if (this.cti.text.indexOf("要看黑白电视") > -1)
            {
                matrix;
                filter = new ColorMatrixFilter(matrix);
                myFilters = new Array();
                myFilters.push(filter);
                this.nsm.video.filters = myFilters;
            }
            else if (this.cti.text.indexOf("还是看彩色电视吧") > -1)
            {
                this.nsm.video.filters = null;
            }
            if (this.cti.text.indexOf("给爷全屏") > -1)
            {
                this.onFS();
            }

得知彩蛋内容为:

瞎了我的狗眼 my eyes!!! 打开方式错 撸多了会双眼模糊>开启模糊滤镜

我有霸气爷们眼 双眼一亮 我做好瞎狗眼的觉悟了 变态有什么错的 狗眼是拿来抛弃的东西 >关闭模糊滤镜

关闭平滑>低画质

给爷平滑>高画质

要看黑白电视

还是看彩色电视吧

给爷全屏

这几个不用解释了吧…

其中撸多了会双眼模糊和其他的模糊效果不同,自己体会一下吧:)