闲得无聊来扒下皮
首先用 beyond compare 比较一下李鬼跟原版有什么区别,发现 background.html 里多引了一个脚本 js/pic.js
打开 pic.js 看核心代码,用 String.fromCharCode.apply 把 ascii 转回字符串,发现这里实际上是又加载了一个脚本 img/logo.png
把 logo.png 的扩展名改为 html 然后用浏览器打开就会发现这个文件前半部分是 png,后半部分是纯文本。图片浏览器会忽略后半部分,所以仍然可以当作图片正常打开。上面那段代码就是寻找脚本的关键字( sojson ),截取后半部分
所以这段脚本到底是干嘛的呢?由于太长了直接拉到最后
\x73\x70\x6c\x69\x74 是 split,正则 /[a-zA-Z]{1,}/ 是 split 的参数,这一大串其实就是用字母分隔的 ascii 数组,把字母去掉然后用 String.fromCharCode.apply 转回字符串,李鬼现行了