[No000080]右键解锁增强Chrome插件开发,破除防复制
昨天用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插件开发,破除防复制的更多相关文章
- Chrome插件开发,美化网页上的文件列表。chrome-extension,background
上一篇文章 通过“content-scripts”的方式向页面注入js和css来美化页面,但是有一个弊端:一旦配置好需要注入的页面,之后如果这个页面地址以后发生变化,或者要新加一些URL进来,那么得修 ...
- chrome插件开发-消息机制中的bug与解决方案
序言 最近开发chrome插件,涉及到消息传递机时按照教程去敲代码,结果总是不对.研究了大半天终于找到原因,现在记录下. 程序 插件程序参考官网 chrome官网之消息传递机制, 不能FQ的同事也可以 ...
- Chrome插件开发入门(二)——消息传递机制
Chrome插件开发入门(二)——消息传递机制 由于插件的js运行环境有区别,所以消息传递机制是一个重要内容.阅读了很多博文,大家已经说得很清楚了,直接转一篇@姬小光 的博文,总结的挺好.后面附一 ...
- vue.js 初体验— Chrome 插件开发实录
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:陈纬杰 背景 对于经常和动画开发打交道的开发者对于Animate.css这个动画库不会陌生,它把一些常见 ...
- Chrome插件开发,美化网页上的文件列表。chrome-extension,content-scripts
趁着2018年还剩最后几天,发几篇博客,荒废太久了,惭愧. 最近也是需求驱动,研究了下Chrome插件开发.来看一下我们公司运维提供的日志查看页面 所有项目的日志都参杂在一起,每次去找都很痛苦.慢慢发 ...
- [Chrome插件开发]001.入门
Chrome插件开发入门 Chrome扩展文件 Browser Actions(扩展图标) Page Actions(地址栏图标) popup弹出窗口 Background Pages后台页面 实战讲 ...
- chrome插件开发学习(一)
两个不错的网址: 360chrome插件开发文档:http://open.chrome.360.cn/extension_dev/manifest.html 图灵 chrome插件开发于应用 电子书: ...
- 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片
以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...
- RFID 卡片防复制
RFID 卡片防复制 这里的卡指的 MIFARE Classic 系列 或 NTAG 系列的卡.其它的卡没接触过,不了解. 防伪有两层意义: 卡片防复制.比如小区卡被复制,使得出入小区的人员管理更困难 ...
随机推荐
- ABP之动态WebAPI(二)
HttpControllerDescriptor与HttpActionDescriptor HttpControllerDescriptor封装了某个HttpController类型的元数据,我们可以 ...
- 三种常用的MySQL建表语句(转)
MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1( ...
- js instanceof
a instanceof b: 1,首先a不是对象,返回false,b的原型不是对象抛出TypeError 2,取得b的prototype标记为bp,对a的原型链做循环,令ap为当前原型,如果ap与b ...
- 谈谈iOS中的锁
1 前言 近日工作不是太忙,刚好有时间了解一些其他东西,本来打算今天上午去体检,但是看看天气还是明天再去吧,也有很大一个原因:就是周六没有预约上!闲话少说,这里简单对锁来个简单介绍分享. 2 目录 第 ...
- 浅谈UIAlertController使用
一开始在刚接触到Alert和ActionSheet的时候,经常傻傻分不清楚,好不容易用习惯了,苹果又给合并了,好在用起来也不困难,到底哪个好呢?见仁见智吧! 现在稍微介绍一下怎么用. 1.初始化,一般 ...
- Android开发--异步加载
因为移动端软件开发思维模式或者说是开发的架构其实是不分平台和编程语言的,就拿安卓和IOS来说,他们都是移动前端app开发展示数据和用户交互数据的数据终端,移动架构的几个大模块:UI界面展示.本地数据可 ...
- [css]我要用css画幅画(七) - 哆啦A梦
接着之前的[css]我要用css画幅画(六),今天画的有所不同,画的是哆啦A梦,我们小时候对他的称呼其实是小叮当机器猫. (PS:这次我要做的事情,很多人已经做过,这并不是什么创新,我只是在学习并记录 ...
- 我对uml类图关系的理解
uml类图的关系: 泛化关系也就是继承. 实现关系就是一个类实现另外一个接口. 依赖关系就是一个类使用了另外一个类,是一种使用关系,在这个类的某个服务中需要另外一个类来协助. 关联关系就是一类拥有另外 ...
- 【从零开始学习Hadoop】--2.HDFS分布式文件系统
1. 文件系统从头说2. Hadoop的文件系统3. 如何将文件复制到HDFS3.1 目录和文件结构3.2 FileCopy.java文件的源代码3.3 编译3.4打包3.5 运行3.6 检查结果 1 ...
- SQLServer中的页如何影响数据库性能 (转)
无论是哪一个数据库,如果要对数据库的性能进行优化,那么必须要了解数据库内部的存储结构.否则的话,很多数据库的优化工作无法展开.对于对于数据库管理员来说,虽然学习数据库的内存存储结构比较单调,但是却是我 ...