昨天用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. java判断输入的数是不是素数

    package test; import java.util.Scanner; //判断输入的数是不是素数 public class Test18 { public static void main( ...

  2. Linux-安装Oracle(CentOS-Oracle 12c)

    第一步:网络连接,在我的上一篇博客中有介绍,不再多说. 网络连接的目的:为了能使用yum命令,在网上直接下载文件. 第二步:前往oracle官网下载12c database服务器端的两个文件:(安装在 ...

  3. ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

    话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...

  4. Atitit. null错误的设计 使用Optional来处理null

    Atitit. null错误的设计 使用Optional来处理null 然后,我们再看看null还会引入什么问题. 看看下面这个代码: String address = person.getCount ...

  5. 一步一步HTML5粒子编辑器

    写在前面 大家阅读此文之前,可以先看一篇MiloYip的文章:用JavaScript玩转游戏物理(一)运动学模拟与粒子系统,看完之后再看此文,更加容易理解. MiloYip使用的粒子是canvas中绘 ...

  6. CSS性能分析,如何优化CSS提高性能

    不负十年后的自己,共勉! 前端性能优化一直是一个比较热门的话题,我们总是在尽我们最大的努力去,提高我们的页面性能,比如减少HTTP请求,利用工具对资源进行合并压缩,脚本置底,避免重复请求,css sp ...

  7. jquery选项卡

    用jquery实现选项卡功能 css部分: html部分: 记得一定要引入jquery文件 jquery部分:

  8. C# 多線程&BackgroundWorker概念入門教程

    感謝以下各位作者的貢獻~ 百度經驗舉了個例子,很好理解BackgroundWorker的用途(主要是用來啟動後台線程,而不阻塞調用程式的運行),收藏一下  http://jingyan.baidu.c ...

  9. sharePoint 2016 弃用和删除的功能

    前言 sharepoint 2016版本正式发布,但是相比较2013版本,还是删除或者准备删除一些功能,我们需要了解一下哪些功能已经被删除掉或者在下一个版本中移除,因为这些可能影响我们现有系统是否能够 ...

  10. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q139-Q141)

    Question 139You create a SharePoint solution that contains two Features named Feature1 and Feature2. ...