<script type="text/javascript">
//<![CDATA[
function hiveware_enkoder(){var i,j,x,y,x=
"x=\"783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.le" +
"ngth;i+=2){y+=unescape('%'+x.substr(i,2));}y";
while(x=eval(x));}hiveware_enkoder();
//]]>
</script>
现在本人在网上找到了这段代码解密的方式。完整代码如下:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="25" id="text_code"></textarea>
</form>
<script type="text/javascript">
//<![CDATA[
function hiveware_enkoder(){var i,j,x,y,x=
"x=\"783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.le" +
"ngth;i+=2){y+=unescape('%'+x.substr(i,2));}y";
while(x=eval(x))
{
//alert(x);
document.form1.text_code.value=x;};
}hiveware_enkoder();
//]]>
</script>
但是我想知道如何可以把自己想要的代码加密成第一段代码?
如:上面的代码解密后是:
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
我如何把中间的网址www.163car.com换成我的域名???
23 个解决方案
#1
整个解密的入口是 while(x=eval(x)) 里的 eval
然后再执行字符串里的 for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}
给你写一个函数吧:
function mm(s)
{
for(var a=[], i=0; i<s.length; i++) a[i]=s.charCodeAt(i).toString(16);
return a.join("");
}
alert(mm("http://www.meizz.com"));
然后再执行字符串里的 for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}
给你写一个函数吧:
function mm(s)
{
for(var a=[], i=0; i<s.length; i++) a[i]=s.charCodeAt(i).toString(16);
return a.join("");
}
alert(mm("http://www.meizz.com"));
#2
先谢谢你给我的这个函数,可是我还是不明白怎么把我的域名换进去,能联系我么?qq:155677
msn:zhenhaizhang@msn.com
msn:zhenhaizhang@msn.com
#3
再顶一下。着急……
#4
<script language="javascript">
function t(){var i,j,x,y,x=
"x=\"4;6=6:66g;9;g;9ig698h;:ij::98:;h8:;9j;:76::j6:68g:9&gA9|g\\\"\\\\9=hx7" +
"u1\\\"=x9;:;8;;;=j:66j;6;e;7i46;88;;i8:;9<::h6:69g;97g:9jg:98h:7676:<66;97" +
":;8;7j;:;i;:j4:666;64g698g;99g:97h;:9j::h7::5i:66<;;:e:;g;7;696:gi96<;6;:9" +
"hh:75;::6i;::=::4g6:6g6:gj9:g69;g79:e76;g466497:6e6;g=9:g79;g99:h67g69gg99" +
"g69;gg994g796i67g696gg99gg99hg79;j::i8:;=9:;75::56:64g;97g;99g6i6:gg99gg99" +
"g69;4g796g69gi97g79;g99:hh7:65;:96:;8:::6j;:ji::6g:74i6:6+6A6}g?9&gf97g497" +
"hf776=;696:68f:76=;6j6:66g:99i:7h=:;58::6j;::6::4g67:whi:r5y:A6/;}:!:-g67A" +
"i/:mg?9lgx9k6r;igp92g|9@im7?646Agm9,gv9sgj9?4+76xg;9'g'9=gy9;4\\\"\\\\;}j#" +
":?8-;-6660gm9,gv9xgw9fhy7w92:|h/:+5):+i,:i4t6e9g+:+gi:;gh:tjg:n6e;l7.:x7<;" +
"i4;609=:ie(;r=o:f7;;)9x:(6e;pja:cis:e4n6u6=69;=g+9jg)92i37<6j6(gf9ig;94g-9" +
")ji:(it:A6e6dgo9Cgr9agh9ch.7x;=:ji{:)=c.x(lave=j;\\\"y9}:)hj:(5e:dio:C4r6a" +
"9h:Chm:o5r:f6.;g:n:igr7tiS:=g+9yg;941,i(rtsbus.x=+y{)2=+i;htgnel.x<i;0=i(r" +
"of;''=y;)1(rtsbus.x=x;))0(tArah;)j(rtsbus.y=y};)1,i(rtsbus.x=+y{)2=+i;htgn" +
"el.x<i;1=i(rof};)\";y='';for(i=0;i<x.length;i+=69){for(j=Math.min(x.length" +
",i+69);--j>=i;){y+=x.charAt(j);}}y;";
while(x=eval(x));}t();
</script>
function t(){var i,j,x,y,x=
"x=\"4;6=6:66g;9;g;9ig698h;:ij::98:;h8:;9j;:76::j6:68g:9&gA9|g\\\"\\\\9=hx7" +
"u1\\\"=x9;:;8;;;=j:66j;6;e;7i46;88;;i8:;9<::h6:69g;97g:9jg:98h:7676:<66;97" +
":;8;7j;:;i;:j4:666;64g698g;99g:97h;:9j::h7::5i:66<;;:e:;g;7;696:gi96<;6;:9" +
"hh:75;::6i;::=::4g6:6g6:gj9:g69;g79:e76;g466497:6e6;g=9:g79;g99:h67g69gg99" +
"g69;gg994g796i67g696gg99gg99hg79;j::i8:;=9:;75::56:64g;97g;99g6i6:gg99gg99" +
"g69;4g796g69gi97g79;g99:hh7:65;:96:;8:::6j;:ji::6g:74i6:6+6A6}g?9&gf97g497" +
"hf776=;696:68f:76=;6j6:66g:99i:7h=:;58::6j;::6::4g67:whi:r5y:A6/;}:!:-g67A" +
"i/:mg?9lgx9k6r;igp92g|9@im7?646Agm9,gv9sgj9?4+76xg;9'g'9=gy9;4\\\"\\\\;}j#" +
":?8-;-6660gm9,gv9xgw9fhy7w92:|h/:+5):+i,:i4t6e9g+:+gi:;gh:tjg:n6e;l7.:x7<;" +
"i4;609=:ie(;r=o:f7;;)9x:(6e;pja:cis:e4n6u6=69;=g+9jg)92i37<6j6(gf9ig;94g-9" +
")ji:(it:A6e6dgo9Cgr9agh9ch.7x;=:ji{:)=c.x(lave=j;\\\"y9}:)hj:(5e:dio:C4r6a" +
"9h:Chm:o5r:f6.;g:n:igr7tiS:=g+9yg;941,i(rtsbus.x=+y{)2=+i;htgnel.x<i;0=i(r" +
"of;''=y;)1(rtsbus.x=x;))0(tArah;)j(rtsbus.y=y};)1,i(rtsbus.x=+y{)2=+i;htgn" +
"el.x<i;1=i(rof};)\";y='';for(i=0;i<x.length;i+=69){for(j=Math.min(x.length" +
",i+69);--j>=i;){y+=x.charAt(j);}}y;";
while(x=eval(x));}t();
</script>
#5
难道真的没有人能搞定这个问题?
#6
我觉得这个加密的问题和大梅给的那段程序不同,如果按照大梅的程序,我试过,如果执行一次使他转成16进制的话,会多一倍的字符,而直接解码出来的代码大约是224个字符,加密的代码大约是不到76*24左右吧,也是就是8倍左右,也就是说执行了3次函数,比如我们对“com”这个字符串执行3次的话,得出的结果为333633333336363633363634在这里面找不到这个字符串。而且里面很多c,e,f等的字符,如果执行3次感觉好象应该没有这些字符了。
#7
我觉得这个加密的问题和大梅给的那段程序不同,如果按照大梅的程序,我试过,如果执行一次使他转成16进制的话,会多一倍的字符,而直接解码出来的代码大约是224个字符,加密的代码大约是76*23左右吧,也是就是8倍左右,也就是说执行了3次函数,比如我们对“com”这个字符串执行3次的话,得出的结果为333633333336363633363634在这里面找不到这个字符串。而且里面很多c,e,f等的字符,如果执行3次感觉好象应该没有这些字符了。
#8
再顶。希望能得到完整的答案!!!
有类似的写法也可以。
to :天外水火,我觉得难就难在如何拆分加密前的字段。com和.com的加密结果就不同。所以你的思路好像有些不正确。
有类似的写法也可以。
to :天外水火,我觉得难就难在如何拆分加密前的字段。com和.com的加密结果就不同。所以你的思路好像有些不正确。
#9
还是没有人答复吗?
#10
拆分加密前的数据感觉可以查下解密之后的数据,到你的.com之前有多少个字符,然后乘以8
在这里写程序或直接数下,到指定的位置再加上32位数字,应该就是.com的数据加密后的数据。
但是不知道加密方法,你的网址还是没办法加进去。
在这里写程序或直接数下,到指定的位置再加上32位数字,应该就是.com的数据加密后的数据。
但是不知道加密方法,你的网址还是没办法加进去。
#11
这种加密解密真是头痛,看晕了
#12
继续顶。希望有人能够给予解决!!!
或者直接帮我把里面的网址换成http://www.mgec.net 非常谢谢!!!
或者直接帮我把里面的网址换成http://www.mgec.net 非常谢谢!!!
#13
真的很麻烦:
我用了一个晚上,终于做出一个.但是还是有一点小问题,不能按照给定的格式进行.即如果给定的加密字串中有引号,则要把引号去掉.否则不能正确运行.希望你能改正它,不要忘了告诉我.
下面是用来生成加密字串的代码:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea>
</form>
<script type="text/javascript">
var y,z,x,i,j,k
x="document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;";
document.form1.text_code.value=x;//
alert("现在开始工作");
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
//document.form1.text_code.value=y+"\n\n"+unescape(y);
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
y='';
y="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
document.form1.text_code.value=y;//此时加密完毕
alert("此时加密完毕");
z='';
if (parseInt(y.length/2)==(y.length/2))
k=parseInt(y.length/2);
else
k=(parseInt(y.length/2)+2);
if (parseInt(k/2)!=k/2)
k=k-1;
alert("second="+y.length/2+"K="+k);
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
y='';
for(i=0;i<k;i+=2)
{
y=y+x.substr(i,2)+z.substr(i,2);
}
y='2)V'+y;
//document.form1.text_code.value=y;
y="x=\""+repln(y)+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=4){y+=x.substr(i,2);}for
(i=2;i<x.length;i+=4){y+=x.substr(i,2);}y=y.substr(j);";
document.form1.text_code.value=y;//移位两次完毕
alert("移位两次完毕");
z='';
if ((parseInt(y.length/2))==(y.length/2))
k=parseInt(y.length/2)-1;
else
k=(parseInt(y.length/2));
alert("second="+y.length/2+"K="+k);
//alert(parseInt(9/2));
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
//alert(parseInt(y.length/2));
y='';
for(i=0;i<k;i+=1)
{
y=y+x.substr(i,1)+z.substr(i,1);
}
y=replnx(y);
y=repln(y);
y="x=\"1["+y+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=2){y+=x.substr(i,1);}for(i=1;i<x.length;i+=2)
{y+=x.substr(i,1);}y=y.substr(j);";
//y=replnx(y);
document.form1.text_code.value=y;//移位一次完毕
alert("移位一次完毕");
x=y
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
z="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//z=replnx(z);
document.form1.text_code.value=z;
alert("全部结束!");
function repln(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\"/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\""); // 用 "A" 替换 "The"。
return(r);
}
function replnx(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\\/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\\"); // 用 "A" 替换 "The"。
//re = /\\\"\;/g; // 创建正则表达式模式。
//r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
//r=replny(r);
return(r);
}
function replny(x)
{
var r, re; // 声明变量。
var ss = x;
//re = /=\\\"/g; // 创建正则表达式模式。
//r = ss.replace(re, "=\""); // 用 "A" 替换 "The"。
re = /\\\"\;/g; // 创建正则表达式模式。
r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
return(r);
}
</script>
下面这个是用来调用加密结果的:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea> <a href="javascript:decode();">click me</a>
<textarea name="text_code1" cols="80" rows="25" id="text_code1"></textarea> <a href="javascript:decode1();">click me1</a>
</form>
<script type="text/javascript">
//<![CDATA[
//function hiveware_enkoder(){
var i,j,x,y,x=
"x=\"783d22315b6378373d365c22373232293556323536326378363d31303636655c5c335c22643636656336363435363231323636663036366466363633
65373635343337353136366439363364643636326536323535363366323732656437373439373334343236346236336566373766303633373037326462325
c5c325c2236303036373b397937653336373d3427366632373627353b323233363366386f3235643736723228333338363769633d363934373730363b3761
34363769323c363530323378312e36306137326c646536336636326e3567373366373774336836323736373b356937663736372b343d32633736323230293
7636536367b327936396136372b663d376532363275376e373764333665337333643836366364613365663637703065326635333728632732653335362561
2732633537322b307836326535362e3673376333363675326236656633367331743663643632726428363630373669352c373265363632332937316636372
9303b36643236367d3179365c22353b376a333d366533763661396c36283978372e6563366861613672374133743528323064293329303b3778303d327833
2e367330753662337337743272362832313629663b3779663d36273227363b6366366f347236286369363d3530373b3969363c3278332e656c3665646e336
737743368303b3269642b363d30343629317b3779362b373d3578372e32733675346236733174367266283369642c36326529353b357d3666636f37723228
3669323d3532663b3769633c3678322e366c6565336e346736746368363b3569372b653d36343229337b6679362b643d3378362e377330753362327336746
57235283169362c63323729643b367d3279353d3579372e6373367533623373657433726528356a6329363b223b6a3d6576616c28782e6368617241742830
29293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c312
93b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='
';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//while(x=eval(x))
//{
//alert(x);
//document.form1.text_code.value=x;};
//}hiveware_enkoder();
//]]>
function decode(){
document.form1.text_code1.value=x;
x=eval(x);
document.form1.text_code.value=x;
}
</script>
问题:如果加密串形如:
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.jr-house.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
必须改成:
document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;
即属性值不能包含引号.
祝你好运.
我用了一个晚上,终于做出一个.但是还是有一点小问题,不能按照给定的格式进行.即如果给定的加密字串中有引号,则要把引号去掉.否则不能正确运行.希望你能改正它,不要忘了告诉我.
下面是用来生成加密字串的代码:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea>
</form>
<script type="text/javascript">
var y,z,x,i,j,k
x="document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;";
document.form1.text_code.value=x;//
alert("现在开始工作");
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
//document.form1.text_code.value=y+"\n\n"+unescape(y);
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
y='';
y="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
document.form1.text_code.value=y;//此时加密完毕
alert("此时加密完毕");
z='';
if (parseInt(y.length/2)==(y.length/2))
k=parseInt(y.length/2);
else
k=(parseInt(y.length/2)+2);
if (parseInt(k/2)!=k/2)
k=k-1;
alert("second="+y.length/2+"K="+k);
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
y='';
for(i=0;i<k;i+=2)
{
y=y+x.substr(i,2)+z.substr(i,2);
}
y='2)V'+y;
//document.form1.text_code.value=y;
y="x=\""+repln(y)+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=4){y+=x.substr(i,2);}for
(i=2;i<x.length;i+=4){y+=x.substr(i,2);}y=y.substr(j);";
document.form1.text_code.value=y;//移位两次完毕
alert("移位两次完毕");
z='';
if ((parseInt(y.length/2))==(y.length/2))
k=parseInt(y.length/2)-1;
else
k=(parseInt(y.length/2));
alert("second="+y.length/2+"K="+k);
//alert(parseInt(9/2));
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
//alert(parseInt(y.length/2));
y='';
for(i=0;i<k;i+=1)
{
y=y+x.substr(i,1)+z.substr(i,1);
}
y=replnx(y);
y=repln(y);
y="x=\"1["+y+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=2){y+=x.substr(i,1);}for(i=1;i<x.length;i+=2)
{y+=x.substr(i,1);}y=y.substr(j);";
//y=replnx(y);
document.form1.text_code.value=y;//移位一次完毕
alert("移位一次完毕");
x=y
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
z="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//z=replnx(z);
document.form1.text_code.value=z;
alert("全部结束!");
function repln(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\"/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\""); // 用 "A" 替换 "The"。
return(r);
}
function replnx(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\\/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\\"); // 用 "A" 替换 "The"。
//re = /\\\"\;/g; // 创建正则表达式模式。
//r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
//r=replny(r);
return(r);
}
function replny(x)
{
var r, re; // 声明变量。
var ss = x;
//re = /=\\\"/g; // 创建正则表达式模式。
//r = ss.replace(re, "=\""); // 用 "A" 替换 "The"。
re = /\\\"\;/g; // 创建正则表达式模式。
r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
return(r);
}
</script>
下面这个是用来调用加密结果的:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea> <a href="javascript:decode();">click me</a>
<textarea name="text_code1" cols="80" rows="25" id="text_code1"></textarea> <a href="javascript:decode1();">click me1</a>
</form>
<script type="text/javascript">
//<![CDATA[
//function hiveware_enkoder(){
var i,j,x,y,x=
"x=\"783d22315b6378373d365c22373232293556323536326378363d31303636655c5c335c22643636656336363435363231323636663036366466363633
65373635343337353136366439363364643636326536323535363366323732656437373439373334343236346236336566373766303633373037326462325
c5c325c2236303036373b397937653336373d3427366632373627353b323233363366386f3235643736723228333338363769633d363934373730363b3761
34363769323c363530323378312e36306137326c646536336636326e3567373366373774336836323736373b356937663736372b343d32633736323230293
7636536367b327936396136372b663d376532363275376e373764333665337333643836366364613365663637703065326635333728632732653335362561
2732633537322b307836326535362e3673376333363675326236656633367331743663643632726428363630373669352c373265363632332937316636372
9303b36643236367d3179365c22353b376a333d366533763661396c36283978372e6563366861613672374133743528323064293329303b3778303d327833
2e367330753662337337743272362832313629663b3779663d36273227363b6366366f347236286369363d3530373b3969363c3278332e656c3665646e336
737743368303b3269642b363d30343629317b3779362b373d3578372e32733675346236733174367266283369642c36326529353b357d3666636f37723228
3669323d3532663b3769633c3678322e366c6565336e346736746368363b3569372b653d36343229337b6679362b643d3378362e377330753362327336746
57235283169362c63323729643b367d3279353d3579372e6373367533623373657433726528356a6329363b223b6a3d6576616c28782e6368617241742830
29293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c312
93b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='
';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//while(x=eval(x))
//{
//alert(x);
//document.form1.text_code.value=x;};
//}hiveware_enkoder();
//]]>
function decode(){
document.form1.text_code1.value=x;
x=eval(x);
document.form1.text_code.value=x;
}
</script>
问题:如果加密串形如:
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.jr-house.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
必须改成:
document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;
即属性值不能包含引号.
祝你好运.
#14
先谢谢。我需要测试一下。。。
#15
这是解密的过程,加密的话倒过来就可以了
x="783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
x="1[cx2=f\"622)3V6c76ex5=2e63c\\7\"166c2654d666c76f5672e6333731c665e65d667dc67522652650166ec76ed664e231562ec76d06672765e362f66d1569477cd26496325635e222d658222fc7229334277cb6344666073ff672b6\\d\"50156;cy2cd26=2'22527'0;70366f3o7e567r2(6f472i3=320670d;55276ic<23f67x2.69777l8e7a363n4g75d25t4h70c72;0i33263+a=230722f)22c62{fy7fa65+7=7cc62u7n7c262e7s29066cea3e667p1e37236(6'3d156%3'6cd26+3x62567.1s7e367u2b2f056set6c126r3(62336if,6e9562d)5ce76)c;22753}2y2\"d;5j0=6ecv2ael6(2x3.fc7h0a5r2A6tc(205)7)2;2x3=6x0.6s9u7b2s6tar6(f17)5;2y2=6'0'7;4f6o3r6(5i7=307;2i3<2x6.dl5efn6gct2hc;6i2+3=c46)0{5y9+6=cx2.es6u2b2s7t3r0(6id,526)7;c}2f2o6r2(6i1=621;7id<6x5.7l5e6n4g6t2h6;fi5+f=74c)2{2y6+2=3x4.6seu5b5s7tcr7(2i3,225)d;5}cy6=cy2.es3u2b3sct6r0(5je)6;";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=2){
y+=x.substr(i,1);
}
for(i=1;i<x.length;i+=2){
y+=x.substr(i,1);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e3671326631636d6365717372206e6163636f696d5e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=4){
y+=x.substr(i,2);
}
for(i=2;i<x.length;i+=4){
y+=x.substr(i,2);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="646f63756d656e742e777269746528223c6672616d6573657420726f77733d5c22302c2a5c22206672616d6573706163696e673d5c22305c2220626f726465723d5c22305c22206672616d65626f726465723d5c22305c223e5c725c6e3c6672616d65206e616d653d5c22746f705c22206e6f726573697a65207363726f6c6c696e673d5c226e6f5c223e5c725c6e3c6672616d65206e616d653d5c22626f74746f6d5c22207372633d5c22687474703a2f2f7777772e3136336361722e636f6d5c22206e6f726573697a65207363726f6c6c696e673d5c226175746f5c223e5c725c6e3c6e6f6672616d65733e5c725c6e3c626f64793e22293b303b";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
得到
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
x="783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
x="1[cx2=f\"622)3V6c76ex5=2e63c\\7\"166c2654d666c76f5672e6333731c665e65d667dc67522652650166ec76ed664e231562ec76d06672765e362f66d1569477cd26496325635e222d658222fc7229334277cb6344666073ff672b6\\d\"50156;cy2cd26=2'22527'0;70366f3o7e567r2(6f472i3=320670d;55276ic<23f67x2.69777l8e7a363n4g75d25t4h70c72;0i33263+a=230722f)22c62{fy7fa65+7=7cc62u7n7c262e7s29066cea3e667p1e37236(6'3d156%3'6cd26+3x62567.1s7e367u2b2f056set6c126r3(62336if,6e9562d)5ce76)c;22753}2y2\"d;5j0=6ecv2ael6(2x3.fc7h0a5r2A6tc(205)7)2;2x3=6x0.6s9u7b2s6tar6(f17)5;2y2=6'0'7;4f6o3r6(5i7=307;2i3<2x6.dl5efn6gct2hc;6i2+3=c46)0{5y9+6=cx2.es6u2b2s7t3r0(6id,526)7;c}2f2o6r2(6i1=621;7id<6x5.7l5e6n4g6t2h6;fi5+f=74c)2{2y6+2=3x4.6seu5b5s7tcr7(2i3,225)d;5}cy6=cy2.es3u2b3sct6r0(5je)6;";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=2){
y+=x.substr(i,1);
}
for(i=1;i<x.length;i+=2){
y+=x.substr(i,1);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e3671326631636d6365717372206e6163636f696d5e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=4){
y+=x.substr(i,2);
}
for(i=2;i<x.length;i+=4){
y+=x.substr(i,2);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="646f63756d656e742e777269746528223c6672616d6573657420726f77733d5c22302c2a5c22206672616d6573706163696e673d5c22305c2220626f726465723d5c22305c22206672616d65626f726465723d5c22305c223e5c725c6e3c6672616d65206e616d653d5c22746f705c22206e6f726573697a65207363726f6c6c696e673d5c226e6f5c223e5c725c6e3c6672616d65206e616d653d5c22626f74746f6d5c22207372633d5c22687474703a2f2f7777772e3136336361722e636f6d5c22206e6f726573697a65207363726f6c6c696e673d5c226175746f5c223e5c725c6e3c6e6f6672616d65733e5c725c6e3c626f64793e22293b303b";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
得到
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
#16
理论上是倒着推即可,但是这里有几个问题大家可以讨论下:
1、引号及斜杠的处理;
2、移位加密的处理;
3、原作者在加密后的字串前加入的二个符号有什么意义?仅作分隔符吗?([、))
1、引号及斜杠的处理;
2、移位加密的处理;
3、原作者在加密后的字串前加入的二个符号有什么意义?仅作分隔符吗?([、))
#17
首先感谢大家的关注。关于晓风提到的问题3,“//<![CDATA[”和“//]]> ”是CDATA的语法,具体可以搜索一下。
#18
问题解决了?那就好。
其实这个问题如果是自己重新写一段加密代码的话,我到觉得不是很困难的事,实际上就是多次加密的问题,而且用到的加密方法也是较简单的转码和移位重组问题。我记得网上有个星星草写的在线播放器,也用到了移位加密来隐藏mp3的路径,方法和这个差不多。
其实这个问题如果是自己重新写一段加密代码的话,我到觉得不是很困难的事,实际上就是多次加密的问题,而且用到的加密方法也是较简单的转码和移位重组问题。我记得网上有个星星草写的在线播放器,也用到了移位加密来隐藏mp3的路径,方法和这个差不多。
#19
这个题真的太烦了,
费了好久才加到二步
第一步用charCodeAt(index).toString()转成16进制
第二步是把位置前后互换
比如
112233445566
加密后是
113355224466
第三步还是换位置,太郁闷了,你的网址和他的网址字符数量还不一致,不能替换字符,给你个思路吧,从www这个入手,因为比较容易看,w是77,www就是777777。
第二步换了你的网址加密后是这个
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e667d626761656d63257e637e60657164236029605e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
费了好久才加到二步
第一步用charCodeAt(index).toString()转成16进制
第二步是把位置前后互换
比如
112233445566
加密后是
113355224466
第三步还是换位置,太郁闷了,你的网址和他的网址字符数量还不一致,不能替换字符,给你个思路吧,从www这个入手,因为比较容易看,w是77,www就是777777。
第二步换了你的网址加密后是这个
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e667d626761656d63257e637e60657164236029605e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
#20
如果楼主还没有解决的话,我帮你做了一下你的域名转换后的加密串,
x=\"783d22315b3278353d635c22363263293656363137366578333d32643636635c5c365c223136363532323634643636306636366635363265343637333037363139363335653636646536326431363635323332356436366439363365353733326236333464323766303733653437363462375c5c375c2237663437363b327936306632363d3927373064363227343b366530363766356f3266333737723828323232363669323d333533373330633b363364363669363c373938373778322e36613436376c316536353432376e6467363030373374356837336136323b336936336637322b353d373266363732342932663736377b307937633736372b323d366337363275666e3739653636653773376564363663336133373733367064653364353636283027326533363225632732666533362b617832656535362e3073366335373775366237323435327332743663303636723128366565333669642c3663663637323529373632373629333b37323536377d3079365c22333b366a313d366539763761336c36286178362e3963366835613272654136743028373037293329333b3678643d3378332e377330753262327336743072362866313629323b3679633d36276627373b6366366f327236283969363d3430363b6569363c3578372e376c3365326e336764743668643b3369312b373d30343229357b3779302b363d3478362e36733775666233733274367265283569312c36326329373b647d3666326f357235283669633d3632323b3669653c3378662e376c6365366e326736746568363b3469362b663d36343529377b3679372b323d3378322e36736475336231733674307233286469362c65323529353b377d6379373d3379332e3273357565623573637436726328376a6529333b223b6a3d6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y
用这个串去替换原文的中字串就可以了。
在IE下测试通过,在Firefox下不能正确转到指定网址。不知为什么?是不是Firefox不支持这种语法?
x=\"783d22315b3278353d635c22363263293656363137366578333d32643636635c5c365c223136363532323634643636306636366635363265343637333037363139363335653636646536326431363635323332356436366439363365353733326236333464323766303733653437363462375c5c375c2237663437363b327936306632363d3927373064363227343b366530363766356f3266333737723828323232363669323d333533373330633b363364363669363c373938373778322e36613436376c316536353432376e6467363030373374356837336136323b336936336637322b353d373266363732342932663736377b307937633736372b323d366337363275666e3739653636653773376564363663336133373733367064653364353636283027326533363225632732666533362b617832656535362e3073366335373775366237323435327332743663303636723128366565333669642c3663663637323529373632373629333b37323536377d3079365c22333b366a313d366539763761336c36286178362e3963366835613272654136743028373037293329333b3678643d3378332e377330753262327336743072362866313629323b3679633d36276627373b6366366f327236283969363d3430363b6569363c3578372e376c3365326e336764743668643b3369312b373d30343229357b3779302b363d3478362e36733775666233733274367265283569312c36326329373b647d3666326f357235283669633d3632323b3669653c3378662e376c6365366e326736746568363b3469362b663d36343529377b3679372b323d3378322e36736475336231733674307233286469362c65323529353b377d6379373d3379332e3273357565623573637436726328376a6529333b223b6a3d6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y
用这个串去替换原文的中字串就可以了。
在IE下测试通过,在Firefox下不能正确转到指定网址。不知为什么?是不是Firefox不支持这种语法?
#21
楼主还未结贴就再说两句:
如果想和原作保持完全一样的效果可以用以下代码来替换我写的那段加密代码中相应部分:
var y,z,x,i,j,k
x="document.write(\"";
y="<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\\r\\n<frame name=\"top\" noresize scrolling=\"no\">\\r\\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\\r\\n<noframes>\\r\\n<body>";
z="\");0;";
y=replnx(y);
y=repln(y);
x=x+y+z;
document.form1.text_code.value=x;//
alert("现在开始工作");
如果想和原作保持完全一样的效果可以用以下代码来替换我写的那段加密代码中相应部分:
var y,z,x,i,j,k
x="document.write(\"";
y="<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\\r\\n<frame name=\"top\" noresize scrolling=\"no\">\\r\\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\\r\\n<noframes>\\r\\n<body>";
z="\");0;";
y=replnx(y);
y=repln(y);
x=x+y+z;
document.form1.text_code.value=x;//
alert("现在开始工作");
#22
希望晓风能立即和我联系一下。qq155677
msn:zhenhaizhang@msn.com
还是有些问题,比如我把工作的一段代码保存成HTM文件,但是执行的时候没有任何反应!!!
msn:zhenhaizhang@msn.com
还是有些问题,比如我把工作的一段代码保存成HTM文件,但是执行的时候没有任何反应!!!
#23
还是希望晓风能联系我一下。谢谢!!!
#1
整个解密的入口是 while(x=eval(x)) 里的 eval
然后再执行字符串里的 for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}
给你写一个函数吧:
function mm(s)
{
for(var a=[], i=0; i<s.length; i++) a[i]=s.charCodeAt(i).toString(16);
return a.join("");
}
alert(mm("http://www.meizz.com"));
然后再执行字符串里的 for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}
给你写一个函数吧:
function mm(s)
{
for(var a=[], i=0; i<s.length; i++) a[i]=s.charCodeAt(i).toString(16);
return a.join("");
}
alert(mm("http://www.meizz.com"));
#2
先谢谢你给我的这个函数,可是我还是不明白怎么把我的域名换进去,能联系我么?qq:155677
msn:zhenhaizhang@msn.com
msn:zhenhaizhang@msn.com
#3
再顶一下。着急……
#4
<script language="javascript">
function t(){var i,j,x,y,x=
"x=\"4;6=6:66g;9;g;9ig698h;:ij::98:;h8:;9j;:76::j6:68g:9&gA9|g\\\"\\\\9=hx7" +
"u1\\\"=x9;:;8;;;=j:66j;6;e;7i46;88;;i8:;9<::h6:69g;97g:9jg:98h:7676:<66;97" +
":;8;7j;:;i;:j4:666;64g698g;99g:97h;:9j::h7::5i:66<;;:e:;g;7;696:gi96<;6;:9" +
"hh:75;::6i;::=::4g6:6g6:gj9:g69;g79:e76;g466497:6e6;g=9:g79;g99:h67g69gg99" +
"g69;gg994g796i67g696gg99gg99hg79;j::i8:;=9:;75::56:64g;97g;99g6i6:gg99gg99" +
"g69;4g796g69gi97g79;g99:hh7:65;:96:;8:::6j;:ji::6g:74i6:6+6A6}g?9&gf97g497" +
"hf776=;696:68f:76=;6j6:66g:99i:7h=:;58::6j;::6::4g67:whi:r5y:A6/;}:!:-g67A" +
"i/:mg?9lgx9k6r;igp92g|9@im7?646Agm9,gv9sgj9?4+76xg;9'g'9=gy9;4\\\"\\\\;}j#" +
":?8-;-6660gm9,gv9xgw9fhy7w92:|h/:+5):+i,:i4t6e9g+:+gi:;gh:tjg:n6e;l7.:x7<;" +
"i4;609=:ie(;r=o:f7;;)9x:(6e;pja:cis:e4n6u6=69;=g+9jg)92i37<6j6(gf9ig;94g-9" +
")ji:(it:A6e6dgo9Cgr9agh9ch.7x;=:ji{:)=c.x(lave=j;\\\"y9}:)hj:(5e:dio:C4r6a" +
"9h:Chm:o5r:f6.;g:n:igr7tiS:=g+9yg;941,i(rtsbus.x=+y{)2=+i;htgnel.x<i;0=i(r" +
"of;''=y;)1(rtsbus.x=x;))0(tArah;)j(rtsbus.y=y};)1,i(rtsbus.x=+y{)2=+i;htgn" +
"el.x<i;1=i(rof};)\";y='';for(i=0;i<x.length;i+=69){for(j=Math.min(x.length" +
",i+69);--j>=i;){y+=x.charAt(j);}}y;";
while(x=eval(x));}t();
</script>
function t(){var i,j,x,y,x=
"x=\"4;6=6:66g;9;g;9ig698h;:ij::98:;h8:;9j;:76::j6:68g:9&gA9|g\\\"\\\\9=hx7" +
"u1\\\"=x9;:;8;;;=j:66j;6;e;7i46;88;;i8:;9<::h6:69g;97g:9jg:98h:7676:<66;97" +
":;8;7j;:;i;:j4:666;64g698g;99g:97h;:9j::h7::5i:66<;;:e:;g;7;696:gi96<;6;:9" +
"hh:75;::6i;::=::4g6:6g6:gj9:g69;g79:e76;g466497:6e6;g=9:g79;g99:h67g69gg99" +
"g69;gg994g796i67g696gg99gg99hg79;j::i8:;=9:;75::56:64g;97g;99g6i6:gg99gg99" +
"g69;4g796g69gi97g79;g99:hh7:65;:96:;8:::6j;:ji::6g:74i6:6+6A6}g?9&gf97g497" +
"hf776=;696:68f:76=;6j6:66g:99i:7h=:;58::6j;::6::4g67:whi:r5y:A6/;}:!:-g67A" +
"i/:mg?9lgx9k6r;igp92g|9@im7?646Agm9,gv9sgj9?4+76xg;9'g'9=gy9;4\\\"\\\\;}j#" +
":?8-;-6660gm9,gv9xgw9fhy7w92:|h/:+5):+i,:i4t6e9g+:+gi:;gh:tjg:n6e;l7.:x7<;" +
"i4;609=:ie(;r=o:f7;;)9x:(6e;pja:cis:e4n6u6=69;=g+9jg)92i37<6j6(gf9ig;94g-9" +
")ji:(it:A6e6dgo9Cgr9agh9ch.7x;=:ji{:)=c.x(lave=j;\\\"y9}:)hj:(5e:dio:C4r6a" +
"9h:Chm:o5r:f6.;g:n:igr7tiS:=g+9yg;941,i(rtsbus.x=+y{)2=+i;htgnel.x<i;0=i(r" +
"of;''=y;)1(rtsbus.x=x;))0(tArah;)j(rtsbus.y=y};)1,i(rtsbus.x=+y{)2=+i;htgn" +
"el.x<i;1=i(rof};)\";y='';for(i=0;i<x.length;i+=69){for(j=Math.min(x.length" +
",i+69);--j>=i;){y+=x.charAt(j);}}y;";
while(x=eval(x));}t();
</script>
#5
难道真的没有人能搞定这个问题?
#6
我觉得这个加密的问题和大梅给的那段程序不同,如果按照大梅的程序,我试过,如果执行一次使他转成16进制的话,会多一倍的字符,而直接解码出来的代码大约是224个字符,加密的代码大约是不到76*24左右吧,也是就是8倍左右,也就是说执行了3次函数,比如我们对“com”这个字符串执行3次的话,得出的结果为333633333336363633363634在这里面找不到这个字符串。而且里面很多c,e,f等的字符,如果执行3次感觉好象应该没有这些字符了。
#7
我觉得这个加密的问题和大梅给的那段程序不同,如果按照大梅的程序,我试过,如果执行一次使他转成16进制的话,会多一倍的字符,而直接解码出来的代码大约是224个字符,加密的代码大约是76*23左右吧,也是就是8倍左右,也就是说执行了3次函数,比如我们对“com”这个字符串执行3次的话,得出的结果为333633333336363633363634在这里面找不到这个字符串。而且里面很多c,e,f等的字符,如果执行3次感觉好象应该没有这些字符了。
#8
再顶。希望能得到完整的答案!!!
有类似的写法也可以。
to :天外水火,我觉得难就难在如何拆分加密前的字段。com和.com的加密结果就不同。所以你的思路好像有些不正确。
有类似的写法也可以。
to :天外水火,我觉得难就难在如何拆分加密前的字段。com和.com的加密结果就不同。所以你的思路好像有些不正确。
#9
还是没有人答复吗?
#10
拆分加密前的数据感觉可以查下解密之后的数据,到你的.com之前有多少个字符,然后乘以8
在这里写程序或直接数下,到指定的位置再加上32位数字,应该就是.com的数据加密后的数据。
但是不知道加密方法,你的网址还是没办法加进去。
在这里写程序或直接数下,到指定的位置再加上32位数字,应该就是.com的数据加密后的数据。
但是不知道加密方法,你的网址还是没办法加进去。
#11
这种加密解密真是头痛,看晕了
#12
继续顶。希望有人能够给予解决!!!
或者直接帮我把里面的网址换成http://www.mgec.net 非常谢谢!!!
或者直接帮我把里面的网址换成http://www.mgec.net 非常谢谢!!!
#13
真的很麻烦:
我用了一个晚上,终于做出一个.但是还是有一点小问题,不能按照给定的格式进行.即如果给定的加密字串中有引号,则要把引号去掉.否则不能正确运行.希望你能改正它,不要忘了告诉我.
下面是用来生成加密字串的代码:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea>
</form>
<script type="text/javascript">
var y,z,x,i,j,k
x="document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;";
document.form1.text_code.value=x;//
alert("现在开始工作");
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
//document.form1.text_code.value=y+"\n\n"+unescape(y);
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
y='';
y="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
document.form1.text_code.value=y;//此时加密完毕
alert("此时加密完毕");
z='';
if (parseInt(y.length/2)==(y.length/2))
k=parseInt(y.length/2);
else
k=(parseInt(y.length/2)+2);
if (parseInt(k/2)!=k/2)
k=k-1;
alert("second="+y.length/2+"K="+k);
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
y='';
for(i=0;i<k;i+=2)
{
y=y+x.substr(i,2)+z.substr(i,2);
}
y='2)V'+y;
//document.form1.text_code.value=y;
y="x=\""+repln(y)+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=4){y+=x.substr(i,2);}for
(i=2;i<x.length;i+=4){y+=x.substr(i,2);}y=y.substr(j);";
document.form1.text_code.value=y;//移位两次完毕
alert("移位两次完毕");
z='';
if ((parseInt(y.length/2))==(y.length/2))
k=parseInt(y.length/2)-1;
else
k=(parseInt(y.length/2));
alert("second="+y.length/2+"K="+k);
//alert(parseInt(9/2));
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
//alert(parseInt(y.length/2));
y='';
for(i=0;i<k;i+=1)
{
y=y+x.substr(i,1)+z.substr(i,1);
}
y=replnx(y);
y=repln(y);
y="x=\"1["+y+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=2){y+=x.substr(i,1);}for(i=1;i<x.length;i+=2)
{y+=x.substr(i,1);}y=y.substr(j);";
//y=replnx(y);
document.form1.text_code.value=y;//移位一次完毕
alert("移位一次完毕");
x=y
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
z="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//z=replnx(z);
document.form1.text_code.value=z;
alert("全部结束!");
function repln(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\"/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\""); // 用 "A" 替换 "The"。
return(r);
}
function replnx(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\\/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\\"); // 用 "A" 替换 "The"。
//re = /\\\"\;/g; // 创建正则表达式模式。
//r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
//r=replny(r);
return(r);
}
function replny(x)
{
var r, re; // 声明变量。
var ss = x;
//re = /=\\\"/g; // 创建正则表达式模式。
//r = ss.replace(re, "=\""); // 用 "A" 替换 "The"。
re = /\\\"\;/g; // 创建正则表达式模式。
r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
return(r);
}
</script>
下面这个是用来调用加密结果的:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea> <a href="javascript:decode();">click me</a>
<textarea name="text_code1" cols="80" rows="25" id="text_code1"></textarea> <a href="javascript:decode1();">click me1</a>
</form>
<script type="text/javascript">
//<![CDATA[
//function hiveware_enkoder(){
var i,j,x,y,x=
"x=\"783d22315b6378373d365c22373232293556323536326378363d31303636655c5c335c22643636656336363435363231323636663036366466363633
65373635343337353136366439363364643636326536323535363366323732656437373439373334343236346236336566373766303633373037326462325
c5c325c2236303036373b397937653336373d3427366632373627353b323233363366386f3235643736723228333338363769633d363934373730363b3761
34363769323c363530323378312e36306137326c646536336636326e3567373366373774336836323736373b356937663736372b343d32633736323230293
7636536367b327936396136372b663d376532363275376e373764333665337333643836366364613365663637703065326635333728632732653335362561
2732633537322b307836326535362e3673376333363675326236656633367331743663643632726428363630373669352c373265363632332937316636372
9303b36643236367d3179365c22353b376a333d366533763661396c36283978372e6563366861613672374133743528323064293329303b3778303d327833
2e367330753662337337743272362832313629663b3779663d36273227363b6366366f347236286369363d3530373b3969363c3278332e656c3665646e336
737743368303b3269642b363d30343629317b3779362b373d3578372e32733675346236733174367266283369642c36326529353b357d3666636f37723228
3669323d3532663b3769633c3678322e366c6565336e346736746368363b3569372b653d36343229337b6679362b643d3378362e377330753362327336746
57235283169362c63323729643b367d3279353d3579372e6373367533623373657433726528356a6329363b223b6a3d6576616c28782e6368617241742830
29293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c312
93b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='
';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//while(x=eval(x))
//{
//alert(x);
//document.form1.text_code.value=x;};
//}hiveware_enkoder();
//]]>
function decode(){
document.form1.text_code1.value=x;
x=eval(x);
document.form1.text_code.value=x;
}
</script>
问题:如果加密串形如:
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.jr-house.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
必须改成:
document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;
即属性值不能包含引号.
祝你好运.
我用了一个晚上,终于做出一个.但是还是有一点小问题,不能按照给定的格式进行.即如果给定的加密字串中有引号,则要把引号去掉.否则不能正确运行.希望你能改正它,不要忘了告诉我.
下面是用来生成加密字串的代码:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea>
</form>
<script type="text/javascript">
var y,z,x,i,j,k
x="document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;";
document.form1.text_code.value=x;//
alert("现在开始工作");
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
//document.form1.text_code.value=y+"\n\n"+unescape(y);
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
y='';
y="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
document.form1.text_code.value=y;//此时加密完毕
alert("此时加密完毕");
z='';
if (parseInt(y.length/2)==(y.length/2))
k=parseInt(y.length/2);
else
k=(parseInt(y.length/2)+2);
if (parseInt(k/2)!=k/2)
k=k-1;
alert("second="+y.length/2+"K="+k);
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
y='';
for(i=0;i<k;i+=2)
{
y=y+x.substr(i,2)+z.substr(i,2);
}
y='2)V'+y;
//document.form1.text_code.value=y;
y="x=\""+repln(y)+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=4){y+=x.substr(i,2);}for
(i=2;i<x.length;i+=4){y+=x.substr(i,2);}y=y.substr(j);";
document.form1.text_code.value=y;//移位两次完毕
alert("移位两次完毕");
z='';
if ((parseInt(y.length/2))==(y.length/2))
k=parseInt(y.length/2)-1;
else
k=(parseInt(y.length/2));
alert("second="+y.length/2+"K="+k);
//alert(parseInt(9/2));
z=y.substr(0,k);
x=y.substr(k);
if(z.length>x.length)
k=z.length;
else
k=x.length;
//alert(parseInt(y.length/2));
y='';
for(i=0;i<k;i+=1)
{
y=y+x.substr(i,1)+z.substr(i,1);
}
y=replnx(y);
y=repln(y);
y="x=\"1["+y+"\";j=eval(x.charAt(0));x=x.substr(1);y='';for(i=0;i<x.length;i+=2){y+=x.substr(i,1);}for(i=1;i<x.length;i+=2)
{y+=x.substr(i,1);}y=y.substr(j);";
//y=replnx(y);
document.form1.text_code.value=y;//移位一次完毕
alert("移位一次完毕");
x=y
y='';
z=10;
for(i=0;i<x.length;i+=1)
{
z=x.charCodeAt(i);
y+='%'+z.toString(16);
}
z='';
for(i=0;i<y.length;i+=1)
{
if(y.substr(i,1)!='%')
z+=y.substr(i,1);
}
z="x=\""+z+"\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//z=replnx(z);
document.form1.text_code.value=z;
alert("全部结束!");
function repln(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\"/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\""); // 用 "A" 替换 "The"。
return(r);
}
function replnx(x)
{
var r, re; // 声明变量。
var ss = x;
re = /\\/g; // 创建正则表达式模式。
r = ss.replace(re, "\\\\"); // 用 "A" 替换 "The"。
//re = /\\\"\;/g; // 创建正则表达式模式。
//r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
//r=replny(r);
return(r);
}
function replny(x)
{
var r, re; // 声明变量。
var ss = x;
//re = /=\\\"/g; // 创建正则表达式模式。
//r = ss.replace(re, "=\""); // 用 "A" 替换 "The"。
re = /\\\"\;/g; // 创建正则表达式模式。
r = ss.replace(re, "\"\;"); // 用 "A" 替换 "The"
return(r);
}
</script>
下面这个是用来调用加密结果的:
<form name="form1" method="post" action="">
<textarea name="text_code" cols="80" rows="15" id="text_code"></textarea> <a href="javascript:decode();">click me</a>
<textarea name="text_code1" cols="80" rows="25" id="text_code1"></textarea> <a href="javascript:decode1();">click me1</a>
</form>
<script type="text/javascript">
//<![CDATA[
//function hiveware_enkoder(){
var i,j,x,y,x=
"x=\"783d22315b6378373d365c22373232293556323536326378363d31303636655c5c335c22643636656336363435363231323636663036366466363633
65373635343337353136366439363364643636326536323535363366323732656437373439373334343236346236336566373766303633373037326462325
c5c325c2236303036373b397937653336373d3427366632373627353b323233363366386f3235643736723228333338363769633d363934373730363b3761
34363769323c363530323378312e36306137326c646536336636326e3567373366373774336836323736373b356937663736372b343d32633736323230293
7636536367b327936396136372b663d376532363275376e373764333665337333643836366364613365663637703065326635333728632732653335362561
2732633537322b307836326535362e3673376333363675326236656633367331743663643632726428363630373669352c373265363632332937316636372
9303b36643236367d3179365c22353b376a333d366533763661396c36283978372e6563366861613672374133743528323064293329303b3778303d327833
2e367330753662337337743272362832313629663b3779663d36273227363b6366366f347236286369363d3530373b3969363c3278332e656c3665646e336
737743368303b3269642b363d30343629317b3779362b373d3578372e32733675346236733174367266283369642c36326529353b357d3666636f37723228
3669323d3532663b3769633c3678322e366c6565336e346736746368363b3569372b653d36343229337b6679362b643d3378362e377330753362327336746
57235283169362c63323729643b367d3279353d3579372e6373367533623373657433726528356a6329363b223b6a3d6576616c28782e6368617241742830
29293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c312
93b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='
';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y";
//while(x=eval(x))
//{
//alert(x);
//document.form1.text_code.value=x;};
//}hiveware_enkoder();
//]]>
function decode(){
document.form1.text_code1.value=x;
x=eval(x);
document.form1.text_code.value=x;
}
</script>
问题:如果加密串形如:
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.jr-house.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
必须改成:
document.write(\"<frameset rows=0,* framespacing=0 border=0 frameborder=0>\\r\\n<frame name=top noresize
scrolling=no>\\r\\n<frame name=bottom src=http://www.jr-house.com noresize
scrolling=auto>\\r\\n<noframes>\\r\\n<body>\");0;
即属性值不能包含引号.
祝你好运.
#14
先谢谢。我需要测试一下。。。
#15
这是解密的过程,加密的话倒过来就可以了
x="783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
x="1[cx2=f\"622)3V6c76ex5=2e63c\\7\"166c2654d666c76f5672e6333731c665e65d667dc67522652650166ec76ed664e231562ec76d06672765e362f66d1569477cd26496325635e222d658222fc7229334277cb6344666073ff672b6\\d\"50156;cy2cd26=2'22527'0;70366f3o7e567r2(6f472i3=320670d;55276ic<23f67x2.69777l8e7a363n4g75d25t4h70c72;0i33263+a=230722f)22c62{fy7fa65+7=7cc62u7n7c262e7s29066cea3e667p1e37236(6'3d156%3'6cd26+3x62567.1s7e367u2b2f056set6c126r3(62336if,6e9562d)5ce76)c;22753}2y2\"d;5j0=6ecv2ael6(2x3.fc7h0a5r2A6tc(205)7)2;2x3=6x0.6s9u7b2s6tar6(f17)5;2y2=6'0'7;4f6o3r6(5i7=307;2i3<2x6.dl5efn6gct2hc;6i2+3=c46)0{5y9+6=cx2.es6u2b2s7t3r0(6id,526)7;c}2f2o6r2(6i1=621;7id<6x5.7l5e6n4g6t2h6;fi5+f=74c)2{2y6+2=3x4.6seu5b5s7tcr7(2i3,225)d;5}cy6=cy2.es3u2b3sct6r0(5je)6;";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=2){
y+=x.substr(i,1);
}
for(i=1;i<x.length;i+=2){
y+=x.substr(i,1);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e3671326631636d6365717372206e6163636f696d5e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=4){
y+=x.substr(i,2);
}
for(i=2;i<x.length;i+=4){
y+=x.substr(i,2);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="646f63756d656e742e777269746528223c6672616d6573657420726f77733d5c22302c2a5c22206672616d6573706163696e673d5c22305c2220626f726465723d5c22305c22206672616d65626f726465723d5c22305c223e5c725c6e3c6672616d65206e616d653d5c22746f705c22206e6f726573697a65207363726f6c6c696e673d5c226e6f5c223e5c725c6e3c6672616d65206e616d653d5c22626f74746f6d5c22207372633d5c22687474703a2f2f7777772e3136336361722e636f6d5c22206e6f726573697a65207363726f6c6c696e673d5c226175746f5c223e5c725c6e3c6e6f6672616d65733e5c725c6e3c626f64793e22293b303b";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
得到
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
x="783d22315b6378323d665c22363232293356366337366578353d32653633635c5c375c" +
"22313636633236353464363636633736663536373265363333333733316336363565363564" +
"36363764633637353232363532363530313636656337366564363634653233313536326563" +
"37366430363637323736356533363266363664313536393437376364323634393633323536" +
"33356532323264363538323232666337323239333334323737636236333434363636303733" +
"666636373262365c5c645c2235303135363b637932636432363d3227323235323727303b37" +
"3033363666336f3765353637723228366634373269333d333230363730643b353532373669" +
"633c323366363778322e36393737376c386537613336336e34673735643235743468373063" +
"37323b306933333236332b613d323330373232662932326336327b667937666136352b373d" +
"376363363275376e3763323632653773323930363663656133653636377031653337323336" +
"283627336431353625332736636432362b337836323536372e317337653336377532623266" +
"3035367365743663313236723328363233333669662c366539353632642935636537362963" +
"3b32323735337d3279325c22643b356a303d366563763261656c36283278332e6663376830" +
"613572324136746328323035293729323b3278333d3678302e367339753762327336746172" +
"362866313729353b3279323d36273027373b3466366f337236283569373d3330373b326933" +
"3c3278362e646c3565666e366763743268633b3669322b333d63343629307b3579392b363d" +
"6378322e65733675326232733774337230283669642c35323629373b637d3266326f367232" +
"283669313d3632313b3769643c3678352e376c3565366e346736743268363b6669352b663d" +
"37346329327b3279362b323d3378342e36736575356235733774637237283269332c323235" +
"29643b357d6379363d6379322e6573337532623373637436723028356a6529363b223b6a3d" +
"6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b" +
"666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228" +
"692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73" +
"756273747228692c31293b7d793d792e737562737472286a293b\";";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
x="1[cx2=f\"622)3V6c76ex5=2e63c\\7\"166c2654d666c76f5672e6333731c665e65d667dc67522652650166ec76ed664e231562ec76d06672765e362f66d1569477cd26496325635e222d658222fc7229334277cb6344666073ff672b6\\d\"50156;cy2cd26=2'22527'0;70366f3o7e567r2(6f472i3=320670d;55276ic<23f67x2.69777l8e7a363n4g75d25t4h70c72;0i33263+a=230722f)22c62{fy7fa65+7=7cc62u7n7c262e7s29066cea3e667p1e37236(6'3d156%3'6cd26+3x62567.1s7e367u2b2f056set6c126r3(62336if,6e9562d)5ce76)c;22753}2y2\"d;5j0=6ecv2ael6(2x3.fc7h0a5r2A6tc(205)7)2;2x3=6x0.6s9u7b2s6tar6(f17)5;2y2=6'0'7;4f6o3r6(5i7=307;2i3<2x6.dl5efn6gct2hc;6i2+3=c46)0{5y9+6=cx2.es6u2b2s7t3r0(6id,526)7;c}2f2o6r2(6i1=621;7id<6x5.7l5e6n4g6t2h6;fi5+f=74c)2{2y6+2=3x4.6seu5b5s7tcr7(2i3,225)d;5}cy6=cy2.es3u2b3sct6r0(5je)6;";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=2){
y+=x.substr(i,1);
}
for(i=1;i<x.length;i+=2){
y+=x.substr(i,1);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e3671326631636d6365717372206e6163636f696d5e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
j=eval(x.charAt(0));
x=x.substr(1);
y='';
for(i=0;i<x.length;i+=4){
y+=x.substr(i,2);
}
for(i=2;i<x.length;i+=4){
y+=x.substr(i,2);
}
y=y.substr(j);
document.form1.text_code.value=y;
x="646f63756d656e742e777269746528223c6672616d6573657420726f77733d5c22302c2a5c22206672616d6573706163696e673d5c22305c2220626f726465723d5c22305c22206672616d65626f726465723d5c22305c223e5c725c6e3c6672616d65206e616d653d5c22746f705c22206e6f726573697a65207363726f6c6c696e673d5c226e6f5c223e5c725c6e3c6672616d65206e616d653d5c22626f74746f6d5c22207372633d5c22687474703a2f2f7777772e3136336361722e636f6d5c22206e6f726573697a65207363726f6c6c696e673d5c226175746f5c223e5c725c6e3c6e6f6672616d65733e5c725c6e3c626f64793e22293b303b";
y='';
for(i=0;i<x.length;i+=2){
y+=unescape('%'+x.substr(i,2));
}
document.form1.text_code.value=y;
得到
document.write("<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\r\n<frame name=\"top\" noresize scrolling=\"no\">\r\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\r\n<noframes>\r\n<body>");0;
#16
理论上是倒着推即可,但是这里有几个问题大家可以讨论下:
1、引号及斜杠的处理;
2、移位加密的处理;
3、原作者在加密后的字串前加入的二个符号有什么意义?仅作分隔符吗?([、))
1、引号及斜杠的处理;
2、移位加密的处理;
3、原作者在加密后的字串前加入的二个符号有什么意义?仅作分隔符吗?([、))
#17
首先感谢大家的关注。关于晓风提到的问题3,“//<![CDATA[”和“//]]> ”是CDATA的语法,具体可以搜索一下。
#18
问题解决了?那就好。
其实这个问题如果是自己重新写一段加密代码的话,我到觉得不是很困难的事,实际上就是多次加密的问题,而且用到的加密方法也是较简单的转码和移位重组问题。我记得网上有个星星草写的在线播放器,也用到了移位加密来隐藏mp3的路径,方法和这个差不多。
其实这个问题如果是自己重新写一段加密代码的话,我到觉得不是很困难的事,实际上就是多次加密的问题,而且用到的加密方法也是较简单的转码和移位重组问题。我记得网上有个星星草写的在线播放器,也用到了移位加密来隐藏mp3的路径,方法和这个差不多。
#19
这个题真的太烦了,
费了好久才加到二步
第一步用charCodeAt(index).toString()转成16进制
第二步是把位置前后互换
比如
112233445566
加密后是
113355224466
第三步还是换位置,太郁闷了,你的网址和他的网址字符数量还不一致,不能替换字符,给你个思路吧,从www这个入手,因为比较容易看,w是77,www就是777777。
第二步换了你的网址加密后是这个
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e667d626761656d63257e637e60657164236029605e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
费了好久才加到二步
第一步用charCodeAt(index).toString()转成16进制
第二步是把位置前后互换
比如
112233445566
加密后是
113355224466
第三步还是换位置,太郁闷了,你的网址和他的网址字符数量还不一致,不能替换字符,给你个思路吧,从www这个入手,因为比较容易看,w是77,www就是777777。
第二步换了你的网址加密后是这个
x="2)Vc6x=e3\"6c64667f626371656d6d6525606e7e64216e7d6775326d597c24626522682f72347c64667f626d516c2d622570736375726423307d526c2f72677873347d547c20323a202f2c2f7a577c277227206e667d626761656d63257e637e60657164236029605e6c27322d506c2e623f70526c2572236069726a6f7522607463657372326d5f6c2c623c60596c2e6227306d567c226261617d657564626f5f7c2262346e557c72325d5c6c2e323c605e6c2f62367e526c71625d6c657e333c6e567c7262516c6d6e352c60626e6f61647d69353e2d522c29327b34603f7b\"05;yc2='22';06foe6r(f7i=260;57i<36x.97lea6ng52th07;i36+=372)26{yf6+=c6unc6es96cae6pe73('d5%'c2+x26.se6ubf5stc2r(23i,e52)c7);25}y";
#20
如果楼主还没有解决的话,我帮你做了一下你的域名转换后的加密串,
x=\"783d22315b3278353d635c22363263293656363137366578333d32643636635c5c365c223136363532323634643636306636366635363265343637333037363139363335653636646536326431363635323332356436366439363365353733326236333464323766303733653437363462375c5c375c2237663437363b327936306632363d3927373064363227343b366530363766356f3266333737723828323232363669323d333533373330633b363364363669363c373938373778322e36613436376c316536353432376e6467363030373374356837336136323b336936336637322b353d373266363732342932663736377b307937633736372b323d366337363275666e3739653636653773376564363663336133373733367064653364353636283027326533363225632732666533362b617832656535362e3073366335373775366237323435327332743663303636723128366565333669642c3663663637323529373632373629333b37323536377d3079365c22333b366a313d366539763761336c36286178362e3963366835613272654136743028373037293329333b3678643d3378332e377330753262327336743072362866313629323b3679633d36276627373b6366366f327236283969363d3430363b6569363c3578372e376c3365326e336764743668643b3369312b373d30343229357b3779302b363d3478362e36733775666233733274367265283569312c36326329373b647d3666326f357235283669633d3632323b3669653c3378662e376c6365366e326736746568363b3469362b663d36343529377b3679372b323d3378322e36736475336231733674307233286469362c65323529353b377d6379373d3379332e3273357565623573637436726328376a6529333b223b6a3d6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y
用这个串去替换原文的中字串就可以了。
在IE下测试通过,在Firefox下不能正确转到指定网址。不知为什么?是不是Firefox不支持这种语法?
x=\"783d22315b3278353d635c22363263293656363137366578333d32643636635c5c365c223136363532323634643636306636366635363265343637333037363139363335653636646536326431363635323332356436366439363365353733326236333464323766303733653437363462375c5c375c2237663437363b327936306632363d3927373064363227343b366530363766356f3266333737723828323232363669323d333533373330633b363364363669363c373938373778322e36613436376c316536353432376e6467363030373374356837336136323b336936336637322b353d373266363732342932663736377b307937633736372b323d366337363275666e3739653636653773376564363663336133373733367064653364353636283027326533363225632732666533362b617832656535362e3073366335373775366237323435327332743663303636723128366565333669642c3663663637323529373632373629333b37323536377d3079365c22333b366a313d366539763761336c36286178362e3963366835613272654136743028373037293329333b3678643d3378332e377330753262327336743072362866313629323b3679633d36276627373b6366366f327236283969363d3430363b6569363c3578372e376c3365326e336764743668643b3369312b373d30343229357b3779302b363d3478362e36733775666233733274367265283569312c36326329373b647d3666326f357235283669633d3632323b3669653c3378662e376c6365366e326736746568363b3469362b663d36343529377b3679372b323d3378322e36736475336231733674307233286469362c65323529353b377d6379373d3379332e3273357565623573637436726328376a6529333b223b6a3d6576616c28782e636861724174283029293b783d782e7375627374722831293b793d27273b666f7228693d303b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d666f7228693d313b693c782e6c656e6774683b692b3d32297b792b3d782e73756273747228692c31293b7d793d792e737562737472286a293b\";y='';for(i=0;i<x.length;i+=2){y+=unescape('%'+x.substr(i,2));}y
用这个串去替换原文的中字串就可以了。
在IE下测试通过,在Firefox下不能正确转到指定网址。不知为什么?是不是Firefox不支持这种语法?
#21
楼主还未结贴就再说两句:
如果想和原作保持完全一样的效果可以用以下代码来替换我写的那段加密代码中相应部分:
var y,z,x,i,j,k
x="document.write(\"";
y="<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\\r\\n<frame name=\"top\" noresize scrolling=\"no\">\\r\\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\\r\\n<noframes>\\r\\n<body>";
z="\");0;";
y=replnx(y);
y=repln(y);
x=x+y+z;
document.form1.text_code.value=x;//
alert("现在开始工作");
如果想和原作保持完全一样的效果可以用以下代码来替换我写的那段加密代码中相应部分:
var y,z,x,i,j,k
x="document.write(\"";
y="<frameset rows=\"0,*\" framespacing=\"0\" border=\"0\" frameborder=\"0\">\\r\\n<frame name=\"top\" noresize scrolling=\"no\">\\r\\n<frame name=\"bottom\" src=\"http://www.163car.com\" noresize scrolling=\"auto\">\\r\\n<noframes>\\r\\n<body>";
z="\");0;";
y=replnx(y);
y=repln(y);
x=x+y+z;
document.form1.text_code.value=x;//
alert("现在开始工作");
#22
希望晓风能立即和我联系一下。qq155677
msn:zhenhaizhang@msn.com
还是有些问题,比如我把工作的一段代码保存成HTM文件,但是执行的时候没有任何反应!!!
msn:zhenhaizhang@msn.com
还是有些问题,比如我把工作的一段代码保存成HTM文件,但是执行的时候没有任何反应!!!
#23
还是希望晓风能联系我一下。谢谢!!!