捌玖网络工作室's Archiver

admin 发表于 2008-1-19 23:24

网页制作中页面的加密和破解

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!Y"hS:Ep"K6V}S:L

U B:@bk6{ n[*]ek'oow
方法一:
0]&P!w!s\ 3u3g y)K?OU
cP,r+hT6AS$l o
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
2s9o fj!n#AS"h
d3B?8U]y <HTML>$w%^m#FRV2xc7T
<SCRIPT LANGUAGE="javascript">
@}}*sq.C"L`7h var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"
B'E`#EI/Lt5R7~ var NewWords;4rR4Q]zq!G-D6A4E
NewWords = unescape(Words);
l$i;IA3Kft document.write(NewWords)s2oT%c]*n
</SCRIPT>
vyr\jZ%{+K:vO <BODY>
@:A!xqG]nts </BODY>'U$e ~mw%i&q#D
</HTML> x {3uc;xI0BS&eJ/_

woqARR?+U   这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法: W+[#U M%i i

(j}9|$r4sRu <HTML><SCRIPT LANGUAGE="javascript">'hs4H M6_*bJ9u"~:l
var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"HP Ea|
var NewWords;
{Lr-y O b)l3r NewWords = unescape(Words);u6U"F_-c8Am
NewWords=NewWords.toString();
/SH2~0Y'|M function password(){
\Wm9W;G7~ SJ document.pw.txtpw.value=NewWords;
eK}DM y/HZ4I;R'a-W }"BOKk%r%~'e'T
</SCRIPT>A8o` A deI
<BODY>
qJ h6xWC#X W <form name=pw>
}O#@r5O]D <input type=button onclick="password()" value="解密">op^.oH$P"e
<br>
#T0io9?Fs <textarea name="txtpw" cols="100" rows="100"></textarea>
#R*oHi_U,j^ </form>
$f/}0F"Itn </BODY>
5m,{;sI!p*_'FD </HTML>#l$e(o/@ qTx
c(U0Mj(K7Si
方法二:
-nwrel ?H -{E6m p:eaM[,J
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
!eJ7KV#LQq s7p[ 8e}Z'`2U-B)\x
<html><head><script>
xCR5Df2{ function Carbosoft( s ) { var sRet=""; for(j=0; j< s.length; j++ ){ var n= s.charCodeAt(j); if (n>=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }
Ce Fe/@ var sJsCmds ="" +
*pkG+n/P:B F;A+D/z;\ "?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo>#fkduvhw@lvr0;;8<04%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wdujhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%&33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fduer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +J|+]$i F(s#n;K
"";
nC3XfV9oI var s= Carbosoft( sJsCmds);
7Y6@ ^oy'g document.write (s);
"B'_-z5x#P </script>
T Wj2k*dw Z!S9~ </head><body></body></html>
b/?0[3[z O { EI
&zrsv N   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
^Jcvj9Y 4Vq)T[/[1nL
<script> k'NP9[M d:W^%S.O]
function Carbosoft( s ) { var sRet=""; for(j=0; j< s.length; j++ ){ var n= s.charCodeAt(j); if (n>=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }
zJ+L(wP var sJsCmds ="" +Q g1q"eMRw+z
"?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo>#fkduvhw@lvr0;;8<04%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wdujhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%&33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fduer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +1t!ta(}.V/B
"";
q.pQl9ii*_.a var s= Carbosoft( sJsCmds); q(x:T5Pny+K2t6q
</script>#D\!C-p'hnk9A3O7N
<form name=qq>"zCO a'v:qQ
<textarea name=ww cols=100 rows=10></textarea>G"BN}m0j
<input onclick='ww.value=s' type=button value="解密">
e'w'[&T;KP | </form>
j }(QoC S(Q
bU{&Zm^:wQ7dO
M;@oE5n$Qyv S 方法三:]8Bn.Na&cl$P

O:S H B7wIZ.~z&s   有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
McI9xit$k
8T7X#Q#Qrg _1^)J!AL <HTML>
gFVmE_ H&\7G <BODY>
^1[~'S4@m,C(Sk5b <SCRIPT LANGUAGE="javascript">
7{/~T9Fi2|{XO3E7B3C? function Decode() { _Oc.}@@E3Y
d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$ajuXWwklfulfEXfubfIrfmnGWwryhgufEsx}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}cLO5Et,t4f
</SCRIPT>k4h5t"v]
<SCRIPT LANGUAGE="javascript">
F`;h7PJm function d (enc) {document.write(codeIt(key,enc));}
*c(g+uW vu;l2N var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!\"\ \|#$%&\'()*+,-.\/:;<=>?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x < eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG > mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}H7d1JZYO k cS
</SCRIPT>}^8nhP!~
<SCRIPT LANGUAGE="javascript">:pKt3uU$g[0Y
Decode();?-B%Sj9}Z,GR9`
</SCRIPT>
Cc$S];g9^ R </BODY>
?H2}]-VUE </HTML>
Xyv|hw _ \ !bYKF0E dW9AQ
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
k,nOQ rYT)gX ;M_Xid ]E
<HTML>
/F!ca*I}5p <BODY>
ns1Y yxQ(Je.G'Uy <SCRIPT LANGUAGE="javascript">sx ac{
function Decode() {
q4L |!Tu;\V%W,oU$M d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$ajuXWwklfulfEXfubfIrfmnGWwryhgufEsx}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}
y,V-yn%rn@*ce TH </SCRIPT>5xE&h3kAR!_*t+n
<SCRIPT LANGUAGE="javascript">
(f_d"?1~ function d (enc) {alert(codeIt(key,enc));}
F b'No8qw5I var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!\"\ \|#$%&\'()*+,-.\/:;<=>?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x < eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG > mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}G$e J D[U c|
</SCRIPT> Zz+gU/Vito*b,c+U
<SCRIPT LANGUAGE="javascript">0[8dhnQ MY ^2D{ d
Decode();
6_eh2yf8K </SCRIPT>
$P)K@U!xTk </BODY> d'Zm7aW8z"\A
</HTML>
T5g m,`Y-z But x0e
  哈哈!!:=)是不是很精彩!!

页: [1]
【捌玖网络】已经运行:


Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.