捌玖网络工作室's Archiver

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

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

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

p8SJ|(Q lk.On)S:D
方法一:
2d V!gu6j~4t/[:p5X
c){yCl
)@ CyH,v6i&LJ5x   有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子: pmjo/j,T

"Y PT*@0K <HTML>\:]X F7V X:D&Wd5Z8W
<SCRIPT LANGUAGE="javascript">
9{#P8_/z,@h 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"/UW?F.p2k3j*iE;yt
var NewWords;7rK2Xh M+\!c
NewWords = unescape(Words);
~@ k9{Q D"z document.write(NewWords)~.Y/xu8A&G$V6t*c
</SCRIPT>c&PS$TLy
<BODY>
*}/~8i9e }+GT </BODY>
9u0~Y$AK.wX)k.A </HTML>
s;z.qgl(?
\v2\6aSrK   这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
cf IIa;jo (]-{j][
<HTML><SCRIPT LANGUAGE="javascript">
GN,MU0A(J8X)K 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"4BMw7fo"s-u&p
var NewWords;_wU6u8T4x&ir3C.F
NewWords = unescape(Words);
-Wr[UU NewWords=NewWords.toString();
U6L4}Oo]2E function password(){i+MKGeH
document.pw.txtpw.value=NewWords;
b:s3u0Jl } J4W%D:{.f}'w](z
</SCRIPT>h%n4sBAN~)m5?3@,w
<BODY> R!q'k d~#`E9g-U1C^M
<form name=pw>E |#L @xu9k$f#o
<input type=button onclick="password()" value="解密">[$^4p"c-o/re&U Bq
<br>X2h8}*f6SPF
<textarea name="txtpw" cols="100" rows="100"></textarea>
-]$h+@f1Du/p x | Z </form>'A$Y@3gDXK
</BODY>
&v h(S6`q-V </HTML>ja dh"Lvv
;rQf.u t3uLf$KZa lV
方法二:
L:Ge%?+C
r1eA S#^.i \6@7Win   有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
"Gus%]Wz5mt-AK t
vAv-gR-b2H <html><head><script>
&_.VC @I-\`U7wy 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 ); } I(t X ru)_
var sJsCmds ="" +
j*nE7LR#r "?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" +
*o}'Z1ru.a9O[Z "";
I1T s'b4Vmx)KR ~M] var s= Carbosoft( sJsCmds);
8Z!c-y1T;f5\}r*m&QW ^ document.write (s);~ K2B6NB;b
</script>
G @*^nE m </head><body></body></html>z(ziB:djD8V

*n T2ErR4Vg   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:%xB5@p\"X0y8A0I
JON)I.o%Q:T]C
<script> I"v,] ]#F'ko
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 ); }
7tKxa K)~a/b var sJsCmds ="" +*bx"dFoh0^ E
"?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" +
"_/t_ ` b_1iTf)C "";
!u)NAd mi)zzT3G var s= Carbosoft( sJsCmds);?0G5G9x G``a]
</script>+tQ]0i$U(i
<form name=qq>$nB-u}j(W8NZoD
<textarea name=ww cols=100 rows=10></textarea>v ]m2j3W s'f;E
<input onclick='ww.value=s' type=button value="解密">
n"?8Wm ?S)E;m </form>#?j9P cv

A%MY3Q3B n
p UU`8A8ySH#G"a 方法三:
!S^ GN)@:l
(Jbl0w/c:{b ]   有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:.t#l m?Fec
pcS4z/E]8sQ2~
<HTML>t Z)@ \d b
<BODY>
ok$C&kQ8FkzO <SCRIPT LANGUAGE="javascript">}.BLeTbIF*NO
function Decode() {SC:Pw}Z
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;}
V4CZv)P uU </SCRIPT>
~&I.n0N5R:v Rcd'V <SCRIPT LANGUAGE="javascript">`x#} muu
function d (enc) {document.write(codeIt(key,enc));}X*nOy7s'I\
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;}
*j!y9\E G8j'xo4i`Y </SCRIPT>
"W? dX.o2h QS@ <SCRIPT LANGUAGE="javascript">
u idVM5v6@2Ra Decode();7o$|4N\Yd
</SCRIPT>(W*v$hc;R Z U N(c)I
</BODY>
|]X8|(oV </HTML>6sR'@a]'Ma7I

+e9X?0[ fm-JZ   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
S0u4V \ `!s1l-V
*o6C9A2j M5] {6C*{&Iv <HTML>
1^Q/kSV"k2Btn o%hK <BODY>
8_`}D|\-BNbQ,H <SCRIPT LANGUAGE="javascript">
V0s%Z:xRB} function Decode() {
9Aq1wYg'Z 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;}
.g}Xy%e/`)f fpt,` eb </SCRIPT>
@+[;a4g;m9k~&uRT <SCRIPT LANGUAGE="javascript">t"h9{];Y j
function d (enc) {alert(codeIt(key,enc));}TC\u1C!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;}&{ ?^X_(o;Mm
</SCRIPT>
|w1aB_U <SCRIPT LANGUAGE="javascript">
f+?v X&dbtK Decode();Xu.gx JVQh
</SCRIPT>
8U*P7k A1k ozx;L IYp </BODY> Mg/jN Q upf
</HTML>
@p^J%? z8t
1YkE*h|d   哈哈!!:=)是不是很精彩!!

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


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