js技术防止版权被篡改加密 eval(function(p,a,c,k,e,r){e=func...

下载了一个模板做另外一个站的时候,想修改下底部的版权链接,因为他全局指向,也没有加nofollow指向,这样的话,我一直做站,推广,运营,都会也在帮他全站服务,虽然有“不喜欢就不要用”的说法,但是这不是“此地无银三百两”吗?

好吧,话不要说得太多,规则你懂的……

跑题了,先说说什么大概,我修改了底部链接,然后页面可开始错乱,惊恐中……  提示了,非法操作,然后跳转到了作者的官方网站……

全局都是这样……  纠结了,找了所有的文件查看下,发现是一个js文件控制的,删掉了,其他功能也失效了,不删?这……

 

代码如下:

 

1
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 } ( '$("#22-10").8(5(){$("#10-1s").B(),$("#29-10-1s").3(),$("#10").1O()}),$(".X-U").B(),$(P).1Z(5(){$(w).1b()>2w?$(".X-U").2i():$(".X-U").2o()}),$(".X-U").8(5(){r $("H,16").1L({1b:0},1G),!1}),$(7).Q("8",".1q",5(){$(w).m("R"),$(".1r").B(W),$(".1u").3(W),$(".1t").u("R")}),$(7).Q("8",".1t",5(){$(w).m("R"),$(".1u").B(W),$(".1r").3(W),$(".1q").u("R")}),M(7).2k(5(a){a(7).Q("8","#s a",5(b){b.2l();12 c=["2r=0,2s=0,2z=1,1n=1o,1v=1w,2A=",(1p.1n-1o)/2,",1K=",(1p.1v-1w)/2].1C(""),d=a(w).V("2t").2u("s-",""),e=13(7.J.1e(0,2v)),f=13(7.1M),g=a(".1m-1D 1B").D>0?a(".1m-1D 1B").2e(0).V("23"):"",h="";25(d){K"1A":h="x://21.1A.y/s/s.1y?J="+e+"&17="+f+"&1a=";E;K"1x":h="x://1X.1x.y/26/s?J="+e+"&27="+f+"&1a="+g;E;K"2d":h="x://s.v.t.18.y/1z.1y?c=s&a=1z&J="+e+"&17="+f+"&1a="+g;E;K"18":h="x://2b.28.18.y/2a-2g/2f/1W?J="+e+"&17="+f+"&2D=";E;K"1E":h="x://36.1E.y/%38/s?33="+e+"&1S="+f+"&2Z="+g}r P.F(h,"30",c),!1});a(".31-32").3a({39:"3c",3d:3e,3b:3g,3f:20})}),M.G=5(a,b,c){12 d,e,f,g,h,i,j,k,l;9("2X"==1d b){9(i=1j,7.G&&""!=7.G)2K(j=7.G.2L(";"),k=0;k<j.D;k++)9(l=M.2M(j[k]),l.1e(0,a.D+1)==a+"="){i=2Y(l.1e(a.D+1));E}r i}c=c||{},1j===b&&(b="",c.n=-1),d="",c.n&&("1l"==1d c.n||c.n.1F)&&("1l"==1d c.n?(e=2H 2N(),e.2O(e.2U()+2V*1i*1i*24*c.n)):e=c.n,d="; n="+e.1F()),f=c.1c?"; 1c="+c.1c:"",g=c.1f?"; 1f="+c.1f:"",h=c.1k?"; 1k":"",7.G=[a,"=",13(b),d,f,g,h].1C("")};$H=P.2R?7.2J=="2Q"?$("16"):$("H"):$("16,H");12 1T="x://1N.y",1J=$(".1g").V("1S"),N=$(".1g").V("2P");9(!$(".1g").D||1T!=1J||N=="1h"||N=="1I 1h"||N=="1h 1I"){2S("\\2T\\2W\\1R\\2G\\2F\\2E\\1R\\2I\\34\\37\\35\\2x~");P.1M="x:\\/\\/1N.y\\/"}9($("#p-q").A(":z")){$(".3-p-q").m("C-3")}$(".3-p-q").8(5(){9($("#p-q").A(":z")){$("#p-q").I(L);$(".3-p-q").u("C-3")}11{$("#p-q").T(Y);$(".3-p-q").m("C-3")}r Z});9($(".O-4-6").A(":z")){$(".3-4-6").m("C-3")}$(".3-4-6").8(5(){9($(".O-4-6").A(":z")){$(".O-4-6").I(L);$(".3-4-6").u("C-3")}11{$(".O-4-6").T(Y);$(".3-4-6").m("C-3")}r Z});$(".3-o").8(5(){$(".3-o").m("o-3");$("#S,#o-1P").3();$("#o-2c").1O()});$("#S").8(5(){$(".3-o").u("o-3");$("#S,#o-1P").B()});$(".F-4").8(5(){9($(".4-6").A(":z")){$(".4-6").I(L);$(".F-4").u("4-3")}11{$(".4-6").T(Y);$(".F-4").m("4-3")}r Z});$(7).Q("8","#1Y",5(){$H.1L({1b:$("#2C").2h().1K},1G)});M.2y.1H=5(b){r w.2B(b).D>0};$(7).8(5(e){9(!$(e.2j).1H("#4-S")){$(".4-6").I(L);$(".F-4").u("4-3")}});$("#2m").8(5(){9($("#19").A(":z")){$("#19").I(L)}11{$("#19").T(Y)}r Z});$("#15-6 2n").2q(5(){$(w).14("2p").m("14-1Q").1V(".1U-15").3()},5(){$(w).u("14-1Q").1V(".1U-15").B()});' , 62 , 203 , '|||show|mobile|function|nav|document|click|if|||||||||||||addClass|expires|search|cat|list|return|share||removeClass||this|http|com|visible|is|hide|catlist|length|break|open|cookie|body|slideUp|title|case|300|jQuery|fuck3|header|window|on|active|holder|slideDown|back2top|attr|400|link|500|false|author|else|var|encodeURIComponent|has|menu|html|url|qq|JS_License|pic|scrollTop|path|typeof|substring|domain|copyright|nofollow|60|null|secure|number|entry|width|640|screen|pingpart|commentshow|info|commentpart|pingtlist|height|560|renren|php|index|weibo|img|join|content|douban|toUTCString|800|isChildAndSelfOf|external|fuck2|top|animate|location|fatesinger|focus|container|submenu|u505A|href|fuck1|sub|find|cgi_qzshare_onekey|widget|go2comment|scroll||service|tab|src||switch|dialog|resourceUrl|qzone|comment|cgi|sns|input|tx|eq|qzshare|bin|offset|fadeIn|target|ready|preventDefault|JS_show_license|li|fadeOut|ul|hover|toolbar|status|id|replace|76|100|u4EE5|fn|resizable|left|closest|comments|pics|u8BE5|u4E0D|u4E86|new|u7684|compatMode|for|split|trim|Date|setTime|rel|CSS1Compat|opera|alert|u535A|getTime|1e3|u4E3B|undefined|decodeURIComponent|image|Share|recommend|post|name|u4E8B|u6240|shuo|uFF0C|21service|animation|flexslider|itemWidth|slide|animationLoop|true|itemMargin|220' . split ( '|' ) , 0 , { } ) )

 

技术不才,完全看不懂,无从下手,百度搜索了下,发现有办法解决    在百度知道的一个问答里面找到方法

 

QQ图片20131028112636

 

 

 

解决方法:

 

1,建立一个新的html页面,复制代码进去,然后把加密的代码全部复制进去,点击解压,就可以了的

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<script>
a = 62 ;
function encode ( ) {
var code = document . getElementById ( 'code' ) . value ;
code = code . replace ( /[ ]+/g , '' ) ;
code = code . replace ( /'/g , "\'" ) ;
var tmp = code . match ( /(w+)/g ) ;
tmp . sort ( ) ;
var dict = [ ] ;
var i , t = '' ;
for ( var i = 0 ; i < tmp . length ; i ++ ) {
if ( tmp [ i ] != t ) dict . push ( t = tmp [ i ] ) ;
}
var len = dict . length ;
var ch ;
for ( i = 0 ; i < len ; i ++ ) {
ch = num ( i ) ;
code = code . replace ( new RegExp ( '\b' + dict [ i ] + '\b' , 'g' ) , ch ) ;
if ( ch == dict [ i ] ) dict [ i ] = '' ;
}
document . getElementById ( 'code' ) . value = "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}("
+ "'" + code + "'," + a + "," + len + ",'" + dict . join ( '|' ) + "'.split('|'),0,{}))" ;
}
function num ( c ) {
return ( c < a ? '' : num ( parseInt ( c / a ) ) ) + ( ( c = c % a ) > 35 ? String . fromCharCode ( c + 29 ) : c . toString ( 36 ) ) ;
}
function run ( ) {
eval ( document . getElementById ( 'code' ) . value ) ;
}
function decode ( ) {
var code = document . getElementById ( 'code' ) . value ;
code2 = code . replace ( / ^ eval / , '' ) ;
//alert(code);
document . getElementById ( 'code' ) . value = eval ( code2 ) ;
}
</script>
< textarea id = code cols = 80 rows = 20 >
< / textarea >
< input type = button onclick = encode ( ) value =编码 >
< input type = button onclick = run ( ) value =执行 >
< input type = button onclick = decode ( ) value =解码 >

 

后面解压出来,查看了下代码,是经过判断来处理的

 

指定一个链接的id作为标示符,然后…… 判断,惊恐……

 

1,判断域名是否是规定好的,

2,判断域名是否加了nofollow

3,判断域名是否加了external nofollow

3,判断域名是否加了nofollow external

 

如果以上的,都不符合,都会跳转,看来…… *****************

 

我发现核心部分代码吧……  大家参考参考

 

1
var fuck1 = "http://****.com" , fuck2 = $ ( ".copyright" ) . attr ( "href" ) , fuck3 = $ ( ".copyright" ) . attr ( "rel" ) ; if ( ! $ ( ".copyright" ) . length || fuck1 != fuck2 || fuck3 == "nofollow" || fuck3 == "external nofollow" || fuck3 == "nofollow external" ) { alert ( "\u535A\u4E3B\u505A\u4E86\u4E0D\u8BE5\u505A\u7684\u4E8B\uFF0C\u6240\u4EE5~" ) ; window . location = "http:\/\/****.com\/" }

之后我把里面的链接改为了自己想要的,确实如此,达到了自己想要的效果了……

 

后续,其实呢,这些都可以在百度里面查到的,还有其他的方法也可以解密出来……

 

比如 (直接写带网页上面,copy就行了)

 

1
eval 改为 document . write

 

或者 (输出显示)

 

1
eval 改为 alert

 

思路是这样的

 

具体方法,参考参考……………………

原文出处:http://www.newsky365.com/jsbanquan/

转载于:https://my.oschina.net/u/1018850/blog/172390

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值