捌玖网络工作室's Archiver

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!N1lqx(b BL.z{%V
NX2e5TK9oC&s;N
X+c9Thj5Xp
方法一:-j6P1h-s1U1BR+\.T8bb

z"w4O)C|Gy+V.Z
3q7`wjun@KE#t   有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
+yw;V*r V1s5i *HK&oY)| S,d
<HTML>
![1]/T)Z8v0e({ n$Clv)h <SCRIPT LANGUAGE="javascript">F-l-{~4~H$I
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"Z*p2P#{f:L.T I P
var NewWords;
;y$k3WeLg2m!E NewWords = unescape(Words);
/Vl3HJ!wD"o document.write(NewWords)
X1PK d.r:dv%E </SCRIPT>
+zCA9j`+t <BODY>.k-gP?F9i'W8d
</BODY>
ns;f9V2Qg;l1Y&] </HTML>
H/C!^[5M y *DcF3WwKf
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
,g'`$a)Z9t"}*yp(S } _;P'`n
<HTML><SCRIPT LANGUAGE="javascript">K IF8i W%G
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"
c#T^h.OhH.t+` var NewWords; {Aw2G2f
NewWords = unescape(Words);!T OVqU9}N'?
NewWords=NewWords.toString();
1`:w U4V5^s$a.\`f function password(){
b)Na/p-g)F4w;i document.pw.txtpw.value=NewWords;
AR-OLA6z/t }['[ S5`#O
</SCRIPT>X3L.KiCB` ] w-?4w
<BODY>.K"t wy;CG$A#i
<form name=pw>
:wIsRgh2jG qX <input type=button onclick="password()" value="解密">?lZbP
<br>
kTq-[2o8c]Y*CV9\ <textarea name="txtpw" cols="100" rows="100"></textarea>
fU N&|yO2u+W </form>-B0U&E!FOY
</BODY>
UyG8l j?K&w </HTML>D2vDgFx-MC3Y
F-BL0ch3U
方法二:UGa` L
f/P4{$Q0J:w!Q
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:%GS!v!VKC
H!c1v Yhci(bQ
<html><head><script>J$i.soP|-w
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 ); }
x-Tq\/WcP hD var sJsCmds ="" +
C-O ~'Wh N S8a x-\ "?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" +D1n c[-Iq4@ d5T
"";Y?"dlp1@9aS1x
var s= Carbosoft( sJsCmds);9FP:U9myf6`j
document.write (s);
{*r,t(}3v7~^ </script>
e9W3Fk"{ E1QgD </head><body></body></html>M+@J'p#]` _3x"sU
l~R:CtX
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:^;a x(?w

/X6s EQ-j[8? <script> R:BD.a4y4nM}~#C
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[mT@.Z:GW e5Sk _
var sJsCmds ="" +
-`K Y6S] }i#R8X2q "?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" +
h$@F,FY5F)l "";
Derr_ c#y'B var s= Carbosoft( sJsCmds);
T ~7^az*R </script>I c@T4GL#q
<form name=qq>yS})L{;R-xtjkTM!n#~
<textarea name=ww cols=100 rows=10></textarea>
:m{DwTS%i2F <input onclick='ww.value=s' type=button value="解密">.b`E3yRV(r
</form>
Urd?U
n3n.d[ Y F1@ ]9X&JV;[ V_t Fn [6b
方法三:/y%_ CL*AmYk
1r c g IX{*J7B5xn da
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
'h3sM+oA+?-?i n %LW6F"W$VT!o0L
<HTML>1C/}-rA;D4U2a)P
<BODY>D1\|\8o,Xo K
<SCRIPT LANGUAGE="javascript">.iupn$_U
function Decode() {f.^G,r t8S/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;}
9ns/p,AR3g-aJ </SCRIPT>)kYsYN~p5a }"IK
<SCRIPT LANGUAGE="javascript">KIV,F3gO
function d (enc) {document.write(codeIt(key,enc));}
s _t+x/Q 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;}
{ G n+\?:J I)Pk6b </SCRIPT>;t9bg_!z%]k
<SCRIPT LANGUAGE="javascript">
rhbB%B3d Decode();%cW T6|8l9C}+v"N
</SCRIPT>
/bZ P ^+^1V/^t[ </BODY>
6R,[S_G(] </HTML>
Xq.o1e;{
3rrv(Kj/XK   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
r,`&@7PnUH @I7v :x-e K4j\G
<HTML>
{6s;G!~7PB Z <BODY>
&[6w-LHGK6~ <SCRIPT LANGUAGE="javascript">
%}x5w @1l3mM2KB function Decode() {,D9xfNb
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;}}T9WFw%_-Q H+geW
</SCRIPT>
W\Ai,ub yg <SCRIPT LANGUAGE="javascript">
q`.S2[ H;SLB function d (enc) {alert(codeIt(key,enc));}
b$@x)_*}s3q,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;}
? o'G5[[g"` </SCRIPT>
!v)lwp+gL_6Y"x <SCRIPT LANGUAGE="javascript">
| cR&m0L&[h:|4l Decode();
0\?0[8CD!c </SCRIPT>
[p&`%Sp$Ja </BODY>
j v6_.w2b2^O </HTML>,}Yhg#B"?
&^/Ujl3J+E
  哈哈!!:=)是不是很精彩!!

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


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