昨天用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

[No000080]右键解锁增强Chrome插件开发,破除防复制的更多相关文章

  1. Chrome插件开发,美化网页上的文件列表。chrome-extension,background

    上一篇文章 通过“content-scripts”的方式向页面注入js和css来美化页面,但是有一个弊端:一旦配置好需要注入的页面,之后如果这个页面地址以后发生变化,或者要新加一些URL进来,那么得修 ...

  2. chrome插件开发-消息机制中的bug与解决方案

    序言 最近开发chrome插件,涉及到消息传递机时按照教程去敲代码,结果总是不对.研究了大半天终于找到原因,现在记录下. 程序 插件程序参考官网 chrome官网之消息传递机制, 不能FQ的同事也可以 ...

  3. Chrome插件开发入门(二)——消息传递机制

    Chrome插件开发入门(二)——消息传递机制   由于插件的js运行环境有区别,所以消息传递机制是一个重要内容.阅读了很多博文,大家已经说得很清楚了,直接转一篇@姬小光 的博文,总结的挺好.后面附一 ...

  4. vue.js 初体验— Chrome 插件开发实录

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:陈纬杰 背景 对于经常和动画开发打交道的开发者对于Animate.css这个动画库不会陌生,它把一些常见 ...

  5. Chrome插件开发,美化网页上的文件列表。chrome-extension,content-scripts

    趁着2018年还剩最后几天,发几篇博客,荒废太久了,惭愧. 最近也是需求驱动,研究了下Chrome插件开发.来看一下我们公司运维提供的日志查看页面 所有项目的日志都参杂在一起,每次去找都很痛苦.慢慢发 ...

  6. [Chrome插件开发]001.入门

    Chrome插件开发入门 Chrome扩展文件 Browser Actions(扩展图标) Page Actions(地址栏图标) popup弹出窗口 Background Pages后台页面 实战讲 ...

  7. chrome插件开发学习(一)

    两个不错的网址: 360chrome插件开发文档:http://open.chrome.360.cn/extension_dev/manifest.html 图灵 chrome插件开发于应用 电子书: ...

  8. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  9. RFID 卡片防复制

    RFID 卡片防复制 这里的卡指的 MIFARE Classic 系列 或 NTAG 系列的卡.其它的卡没接触过,不了解. 防伪有两层意义: 卡片防复制.比如小区卡被复制,使得出入小区的人员管理更困难 ...

随机推荐

  1. VGA colorbar显示

    module VGAcolorbar(clk,rst,hsync,vsync,vga_r,vga_g,vga_b ); input clk; input rst; output hsync; outp ...

  2. JMeter专题系列(三)元件的作用域与执行顺序

    1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...

  3. 通过Laravel 初识Vue.js

    最近也在学习laravel的框, 因为之前学过tp框架, 都说laravel是最优雅的框架,所以开学后忍不住去试试这个在国外已经火的不要不要的框架. 总的来说,对于学习完tp框架后,我觉得tp毕竟是中 ...

  4. js正则表达式图形化工具-rline

    github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...

  5. [deviceone开发]-do_ImageView实现正圆的示例

    一.简介 我们经常需要用一个正圆形状的图片来设置头像,在do平台这个比较容易,就是通过设置圆角来实现,但是有几个小技巧需要解释一下 主要组件:do_ImageView 二.效果图 三.相关下载 htt ...

  6. Spring(6)—— AOP

    AOP(Aspect-OrientedProgramming)面向切面编程,与OOP完全不同,使用AOP编程系统被分为切面或关注点,而不是OOP中的对象. AOP的引入 在OOP面向对象的使用中,无可 ...

  7. jQuery静态方法noConflict的使用和源码分析

    所谓静态方法是jQuery本身得公共方法,并不需要通过实例化来调用,一般也称为工具方法,下面先来列绝下jQuery.noConflict方法的用法: noConflict() 方法让渡变量 $ 的 j ...

  8. 今天再给大家带点html5前端开发的干货模板“text/tpl”怎么用 script template怎么用

    text/tpl 顾名思义就是模板,其实和C++模板函数类似的作用,就是利用他生成一个HMTL内容,然后append或者替换html里面 有什么好处,假如后端返回来的数据都是一样的,但是需要生成不同的 ...

  9. iOS 如何获取屏幕大小

    UIScreen *currentScreen = [UIScreen mainScreen]; NSLog(@"applicationFrame.size.height = %f" ...

  10. Xcode8开发iOS10推送通知过程

    iOS10发布后,简书优先开发增加了iOS10的新通知.本文分享整个feature的开发过程遇到的问题. 1.工程配置 Xcode8发生了很大的变化,直接打开原来的工程编译运行,这个时候是获取不到Pu ...