捌玖网络工作室's Archiver

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
7D3]D8Q zwQ
}pu'd-P Vj &\]zBw:@5i? q*J
方法一:U,|I\ b L] {Z*U(F

eiDA+?| B]q S8`"vy|w!f"\0[*B
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:qw OpQ^
d1["V.{] @wMW&n,\
<HTML>x@/ZA D B/| Z
<SCRIPT LANGUAGE="javascript">!H!p(t!`cC}0q
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"
'P*d M g CJ var NewWords;
._2\{%ZQs)` NewWords = unescape(Words);
L Rau/|*p+p.pv(q document.write(NewWords)
K5L-_)zk k\!} w </SCRIPT>
k/U*j rER.d <BODY>o9d-Q,B6BW ~ [
</BODY> d(IhD*E!~!?(q
</HTML>
Y P [xZ
)V8y/a)Ls)C X \)Vu-I   这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
*_ rkTD4\3Z m} 7^T} p!~-b
<HTML><SCRIPT LANGUAGE="javascript">$N6Yy%EB
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"+Az,}Ii
var NewWords;w7k bUm$Z
NewWords = unescape(Words);6N"F-w.|:u };y
NewWords=NewWords.toString();%Zr%F~L+b
function password(){S2s5u$_+@Qb]+F7a}
document.pw.txtpw.value=NewWords;
p.hs'Ns{ mv }
H"Hkd5N2[)AT </SCRIPT>
?#M LQ`R#ah <BODY>
Xf\N3X <form name=pw>u%n D]dD:h~
<input type=button onclick="password()" value="解密">XLYL~mz,o6MG$S
<br>C%{K"p"CP`
<textarea name="txtpw" cols="100" rows="100"></textarea>o!`ZM ^3B-p+z6E TE
</form> @ w1V'p,Wpm/` P6AY0_
</BODY>
&ld9L^\v \ </HTML>`7B@M)By6oK

4]"U&})F'| 方法二:
6a%a | m3tL;s8R G
1[H)gN8Qm qj   有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:3WIOp*\c1n0J
3f8Eg2|m}3A'\
<html><head><script>.]Et$s+y2ldu bd)NV
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 ); }
&q#Q*S*^ UKV7\&a var sJsCmds ="" +
r%omz2ZJ$km "?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" +
@mr"XIKna-f "";
*@J"`Zn%r var s= Carbosoft( sJsCmds);XJRg1BV'U\5W?1c
document.write (s);}h t.z|Y"y3m
</script>
HP)[#qVbA </head><body></body></html>)|9M}.{"o$sh7O0d"]Z

u?3` w7n3}   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
B5yp3}z2n&G XI D3W+S)~k i?
<script>
%oY1MKynb5w 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 ); }2_Pend'Y)VQ
var sJsCmds ="" +^*J&E]2o+dj} ^
"?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" +"X}6EI#g,Jrh-f
"";
Bg-{g r:~a var s= Carbosoft( sJsCmds);
x+gsn#G:df </script>
*keU5Ozx} eB8_%SNZ+Y <form name=qq>
[!zk|U? <textarea name=ww cols=100 rows=10></textarea>
bS_ F| PT <input onclick='ww.value=s' type=button value="解密">
$i/r#}+Cb5g[ </form> ? Yp$kH7m

.J'u]g$R0y/|4M P } H_dMI4D#?/c
方法三: h?{g4n d3WVF1Y

-M@/N,A`;U R"uF}J   有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:HcT)OUJcs"Cx3z

k g!j"GG <HTML>
9dV"V)z6ijAL,D <BODY>
QO1U} z!v"y-l <SCRIPT LANGUAGE="javascript">
8if ]M O$A function Decode() {:l?br OpXgVrh!|
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;}
:S%AAF.y6[/b y,L-z </SCRIPT>
!a8tyKD*]lOhC <SCRIPT LANGUAGE="javascript">}-O.xK"y7i
function d (enc) {document.write(codeIt(key,enc));}6V!X*iaT$D
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;}&b8be@XYw;K1S.W EN
</SCRIPT>:o9B&L!z8a yg;Q4[[
<SCRIPT LANGUAGE="javascript"> n!R4Z7{)?7Z][l
Decode();4?afg'Q`f$i
</SCRIPT>
MG:q0]$eg </BODY>
ji2BB+l m&z0rV </HTML>
n(H6V @v3c:z
f%|0XqU3\/Pg1I   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
1t:q;{$~[*x X0nD,V!`1KWkC
<HTML>|r,J)d#yd
<BODY>k9@Cf"UQ M.P#W
<SCRIPT LANGUAGE="javascript">
|0O@,VP function Decode() {(@ n7^ Pc
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;}
,_ K,M'C;@,A6BJh} </SCRIPT>jt7iKh;hp4pYF|
<SCRIPT LANGUAGE="javascript">ub/A bm}2p }|9Z
function d (enc) {alert(codeIt(key,enc));}*w\!k{#K5D1Z:W,W`{
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;},fo6fr S_
</SCRIPT>Tc3z'u Yuu6A8E:H
<SCRIPT LANGUAGE="javascript">
8B:QC*q m ? Decode();Ibh\)X%{k(tYV
</SCRIPT>
;\1FZY N4i,i/~ </BODY>.c1f T4Y3mT E0S
</HTML> n^H;D4`mZ
)}$?1[bt%pN
  哈哈!!:=)是不是很精彩!!

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


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