捌玖网络工作室's Archiver

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
s$k9Y l%E~2Oc a -^n\,ew9a2f

I8~A6^ZV 方法一:
f2Su*q7\;|v'Cr| 3H9k*@$PsA5H4fD'@
8g9z)Y fW'm
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:y,YW%x%t`7\5^n
ZP#p_"tp!n
<HTML>@-E*L L)T"T QU
<SCRIPT LANGUAGE="javascript">
&B ]*b/mS^&m0d 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"
:jt ?B` Y var NewWords;
Xb}'WU @ NewWords = unescape(Words);
7K*MU[nr&b)xE*y&^ v^ document.write(NewWords)
3zG3[3IOI rX </SCRIPT>c"ge ] Q'i1f[
<BODY>%F8F F l4NNH9dh*T
</BODY>2aC qQ@7L-N@t4\
</HTML>
Zy`0b!gAV
;d4Vc!k%? OGR _M5z   这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:M+[*uZ1xT;}

8p O*h\/o}v:\ <HTML><SCRIPT LANGUAGE="javascript">
&P0PTF_ Ydfh@ 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"
3]}+}6k~Q"~5o var NewWords;
|mP,?CT9GMT@ NewWords = unescape(Words);
z:e[ OtAlib NewWords=NewWords.toString();/E\Qh W'Q
function password(){0\ h~ PqtiboZ
document.pw.txtpw.value=NewWords;7LN4P4D*Z~Bps
} cAD)k/v3A
</SCRIPT>7HFZ,L5C+m-D
<BODY>
-P\;@1[9O!x9P\ <form name=pw>(c&U x/O_&E\
<input type=button onclick="password()" value="解密">
3}AsJ J <br>uUS3I4_3s
<textarea name="txtpw" cols="100" rows="100"></textarea>
-f-K'b#{+@4\ </form> MLUg c1R;Qq
</BODY>
,Y,nCo \ t1`C </HTML>W]y$B1~+Q@ tB
ZBAwq
方法二:
6e P(@D%Av b
/\](s$gojH T/T2V   有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
i"UO#i*unp ?FX o%u8tZ
<html><head><script>
?*R(Z,CYg&Z+a-hq 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 ); }P%m C'w,bxZ
var sJsCmds ="" +-Z Ati jXIz*a
"?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" +
*K.A@}v8Q pmrz!g "";
vw h_eW var s= Carbosoft( sJsCmds);jN X]H6Z Pmf2i
document.write (s);|9O x$nM
</script>~g1jdkR
</head><body></body></html>
'\%S T7G#G?5Av+vIL !S.?)T`QL,L]X
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:IKF&gk2z1R
%K2\{1_h(Auk
<script>
.YR_(]w(g 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 ); }7|JrjN k#u r @
var sJsCmds ="" + lW:z?YIp@ `
"?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" +N/Sl.g v'|]pL
"";
/K&Q5|1R a9H5H var s= Carbosoft( sJsCmds);
0T!Zy4Np%U </script> i6|!zYE
<form name=qq>
@y hvFGZ%z_c <textarea name=ww cols=100 rows=10></textarea>)LV|![6Um
<input onclick='ww.value=s' type=button value="解密">
K:Q-AN7G </form>
"DC'AIsUA r9e+K-C
P8K s.k~
f/Yp Y$K]X 方法三:
7v7x\0lSv[ U K$`\"M}*_
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
!rR\X:GOjZ} .Y QVcVEh y
<HTML>&O"[ al]
<BODY>&f7Q}.xDc0g!f&v
<SCRIPT LANGUAGE="javascript"> e'E2S*G9{
function Decode() {
\;E_GC1DE 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;}*}uw+o"k dC|g9`vU
</SCRIPT>
3Gth;w7S <SCRIPT LANGUAGE="javascript">
0K/T"a4aFY y }.uEZ function d (enc) {document.write(codeIt(key,enc));}
o!@T7\w[ p0@5j 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;}
0k+n9\o;Q \Jk I)HT </SCRIPT>8sbu A/~k bzz`k
<SCRIPT LANGUAGE="javascript">hNGg4h7v;M1K
Decode();D(mRsm
</SCRIPT>
0C$N1t(fR </BODY>
&J tVx;T8cg Qj { </HTML>
O)X:lU1d)MF^
9GhC.op)kjBA   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:d0LF Rl viDt9x

.f&X.DGf%II%l5H <HTML>3wc8Z g-Na4X(f-Y e h
<BODY> {q.X E){}!q
<SCRIPT LANGUAGE="javascript">b{'O D0Lf
function Decode() {W;}iL~4km
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;}
4UnW:@#[{(m </SCRIPT>:w+B P&\.E.V
<SCRIPT LANGUAGE="javascript">
]#R4K'x!^ Ss function d (enc) {alert(codeIt(key,enc));} Q:zn+B3t"Y
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;}$V7Lc"Z~3gf9{
</SCRIPT>
3H9zLP ij <SCRIPT LANGUAGE="javascript">;A x9~3bWS;aj
Decode();f0ep"e!u,n;W
</SCRIPT> gd7cu~Sy
</BODY>3m+H7b!F6tW`
</HTML>aG,k"@![8f/{HAQ

;o8BUJI ?   哈哈!!:=)是不是很精彩!!

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


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