昨天用360极速(虽然我不喜欢360.)浏览器,登陆知乎查阅一些东西,突然感觉有些观点很赞同,想copy转载一下,我了个去,它丫的居然不让我复制。
地址:https://www.zhihu.com/question/19748408
不过,这个简单啊。很多方法可以实现"丫的就要copy你",更何况,360插件不少呢,于是我试了Enable Copy,Allow Right Click等著名解除防复制的插件,TMD居然都破不了!!于是,自己动手丰衣足食啊。
以前没写过chrome插件,怎么办?学啊,我唯一NB的地方就是学习能力啦,翻Q上官网搜教程,地址:https://developer.chrome.com/extensions
哎呦我去,居然还有360给的文档,虽然很多example的下载地址早已失效,而且很老了(文档地址:http://open.chrome.360.cn/extension_dev/overview.html)不过两个结合着看看,再要求有点HTML/CSS/JavaScript的基础,搞这么个小插件问题不大。
说干就干:核心文件manifest.json
{ "update_url" : "http://www.cnblogs.com/Chary/p/No000080.html", "browser_action" : { "default_icon" : "icons/icon_32.png", "default_title" : "右键解锁增强版" }, "version" : "2.0", "description" : "Allow selecting, copying, pasting and right clicking in some restricted pages.URL = http://www.cnblogs.com/Chary/p/No000080.html", "icons" : { "48" : "icons/icon_48.png", "32" : "icons/icon_32.png", "16" : "icons/icon_16.png" }, "name" : "右键解锁", "permissions" : [ "activeTab" ], "background" : { "scripts" : [ "runit.js" ], "persistent" : false }, "manifest_version" : 2 }
核心脚本rightclick_plus.js
eval(function(p, a, c, k, e, d) { e = function(c) { return (c < a ? '': e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) { d[e(c)] = k[c] || e(c) } k = [function(e) { return d[e] }]; e = function() { return '\\w+' }; c = 1 }; while (c--) { if (k[c]) { p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]) } } return p } ('3 1e(){S c}1y=1e;3 6(){9(s!=E){9(s.r){s.r()}t{s.X=c;s.W=c}S c}}3 K(o){18{o.1F=6;o.1j=6;o.1i=6;o.1D=6;o.1g=6;o.1h=6;o.1f=6;o.1o=6;o.1n=6}Q(e){}}3 P(5){18{2 x=5.1l;9(x!=E){p(2 i=0;i<x.7;i++){v(x[i].h)}}t{2 A=5.Y("1k");9(A!=E){p(2 j=0;j<A.7;j++){v(A[j].R)}}2 I=5.Y("1m");9(I!=E){p(2 j=0;j<I.7;j++){v(I[j].R)}}}}Q(e){}}3 O(d){K(d);K(d.1A)}3 v(d){P(d);O(d)}2 12={q:3(f){f.r()},T:3(5,u,z){5.w(u,8.q,c)},g:3(4,G){2 7=4.7;p(2 i=0;i<7;i++){8.T(G,4[i],8.q)}},F:3(4){8.g(4,L);8.g(4,h)}};2 l=3(){};l.H.q=3(f){9(f.r){f.r()}t{f.X=c;f.W=c}};l.H.M=3(5,u,z){9(5.w){5.w(u,z,1z)}t{5.1B(\'1C\'+u,z)}};l.H.g=3(4,G){2 7=4.7;p(2 i=0;i<7;i++){8.M(G,4[i],8.q)}};l.H.F=3(4){8.g(4,L);8.g(4,h);2 y=h.1p,n=y.7;p(2 i=0;i<n;i++){9(y[i].1E==1){8.g(4,y[i])}}};9(L.w){2 D=1x.1s(12);D.F([\'1a\',\'1c\',\'k\',\'17\',\'15\',\'19\',\'Z\',\'V\',\'N\',\'1d\',\'11\',\'m\',\'1b\',\'10\',\'U\']);((3(){2 J=h.1r(\'1q\');J.1t=\'* {-13-b-m: C !a; -13-b-k: B !a;\'+\'-14-b-m: C !a; -14-b-k: B !a;\'+\'-16-b-m: C !a; -16-b-k: B !a;\'+\'b-m: C !a; b-k: B !a;}\';h.1u.1w(J)})())}t{2 D=1v l();D.F([\'1a\',\'1c\',\'k\',\'17\',\'15\',\'19\',\'Z\',\'V\',\'N\',\'1d\',\'11\',\'m\',\'1b\',\'10\',\'U\'])}v(h);', 62, 104, '||var|function|events|obj|handleevent|length|this|if|important|user|true|||evt|apply|document|||select|noMouseRestrict2|drag|||for|enableDefault|stopPropagation|event|else|type|enableRight|addEventListener|frs|nodes|func|fs|text|auto|noRestrict|null|init|node|prototype|ifs|elem|handleobj|window|addEvt|beforepaste|handlebody|handleframes|catch|contentDocument|return|addEvt2|mousemove|paste|returnValue|cancelBubble|getElementsByTagName|beforecut|mouseup|dragend|noMouseRestrict|webkit|moz|beforecopy|khtml|copy|try|cut|contextmenu|mousedown|selectstart|dragstart|avoiderr|onmousedown|onbeforecopy|oncopy|ondragstart|oncontextmenu|frame|frames|iframe|onmouseup|onmousemove|all|style|createElement|create|innerHTML|head|new|appendChild|Object|onerror|false|body|attachEvent|on|onselectstart|nodeType|onselect'.split('|'), 0, {}))
打包发布,测试了一下,一切OK,当你打开页面,点击了右上角工具栏里的按钮后,你想怎么复制就怎么复制,而且去其他一些不能复制的网站试了试,也能成功解除防复制。
当然,chrome里还要上什么商店,没这个闲工夫。有哪位大神闲着,可以帮忙发发,360里面被禁用了,你再打开就是了。
PS:人家都去开年会去了,我们公司就只是开了个会,我对它不感兴趣,于是有了你们看到的这篇文章,作为一名标准的高颜值程序猿,我是有多么敬业啊!!
项目Github地址:https://github.com/charygao/ChromeRightClickPowerfulPlus