捌玖网络工作室's Archiver

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!vmc.r!_;]T
m9?W/M-S

l3qck"}H:} 方法一:V!~UB/_x_\){ y

5u*[LRX8@tn~p
jq ?@(S(^:?dk   有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:,lh8I|/H@/s9t
;j6Q-r!l P_b.H
<HTML>3ZtQ+h F;GSq
<SCRIPT LANGUAGE="javascript">ui @,w%r'm}sr
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"*\K0~ a/L:xa
var NewWords;"HoX(s/b1Wd
NewWords = unescape(Words);
l Mw#|1X/f \j:^ document.write(NewWords)I\'QWjJIX2\
</SCRIPT> u*x \+tU8u)__o
<BODY>
YWm9d7w ty </BODY>
)s&I(? ~5s|+i M </HTML>KPF1smr
4qd x;M4H"T ^a] h
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
+U0j:{9AAv4mDL4[Y
2zy2z-h/sX7?l:L'eyn <HTML><SCRIPT LANGUAGE="javascript">!rV b9i ?}#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"b4a X][-`'D4s9T
var NewWords;
!hN&g}!P&sY8RQ NewWords = unescape(Words);zl0X*U7Q8SS.cB
NewWords=NewWords.toString();
)h,GugT+Z function password(){1^9Eg{&zZ\1E
document.pw.txtpw.value=NewWords;
,R;X"lmE` }P v!U5?xz
</SCRIPT>
f4O8ke,gc6LLh <BODY>
n3`+rS Sq <form name=pw>
7_L$Ld4f}/R{Z <input type=button onclick="password()" value="解密">.^3ed-? B+Gg
<br>
N4l.y2A zD ~C <textarea name="txtpw" cols="100" rows="100"></textarea>
"K)w$F#A0OJG </form>,v4l.@$e{ sz
</BODY>
Pci1n3cg)m~i"~ </HTML>#} v I5s;PM`b~
,LP8\5A0tc7?(y7K)m
方法二: NHk7Y!AM,h [
Iuxe-[A:IMX x
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:|S(PIo3q'y] k2Y)D
"gq7oO@3N
<html><head><script>
2x,eq2@%Y$DSs'hv 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 ); }
*\^$w;U*{pV~(K var sJsCmds ="" +O1y$c2j E["k"@ [
"?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" +^ DAo*ef3W6^r@
"";
} L.{*n7g'q:V$K6{*| var s= Carbosoft( sJsCmds);&X3H5f[m2m9Io:I
document.write (s);
Ct3|hQ </script>
"]!Y4F0W8z {9S~$yB </head><body></body></html>
1m5u&y4vz'q9Z7g3s
[DL*["Dv1Je   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
f%g+uj)g9R)po F|R So4J9?
<script>9z%?!MzL6xUOEGG
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 ); }k"N(_a Y
var sJsCmds ="" +
n.Zg8n` Vv7Y "?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" +
jZ3rY~7H "";
"B{ rf@ag2_8Z5z var s= Carbosoft( sJsCmds); ?ot0T/Rh$dg[
</script>
k;?%u)Y/B~ <form name=qq>
w,U2g,Q5_j s7e <textarea name=ww cols=100 rows=10></textarea>
$I*e C4]gZ6c)J <input onclick='ww.value=s' type=button value="解密">/n;x"U,U L1_K x
</form>
"S v*w']$gH`\ .S3oz{C8{i5n

Jsz w g&R 方法三:@M9| [,[ L

V(S,Y#v)a+T @+S5@d   有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:#bbN,Z HQ!U
"Tj t \;eGS
<HTML>$V]#^:E@6_V
<BODY>
6ThSb Bh$R"wNvA(t <SCRIPT LANGUAGE="javascript"> iF4D|]#E f
function Decode() {&~,o&Q5U1g;e+ST
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;}
'ZCcGm7HYS </SCRIPT>3b_ @ F` V
<SCRIPT LANGUAGE="javascript">
,Wi qX|'PZ;t$u function d (enc) {document.write(codeIt(key,enc));}
OG.S+_#[:MA 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;}.a"tp'Yi@{4Tj L
</SCRIPT>
vG8Wy*u;l+U <SCRIPT LANGUAGE="javascript">8o0i~,Ub
Decode();
yh'E B zDD2P </SCRIPT>*O`;o^@
</BODY>M.l9R-xm
</HTML>:dv:sj2~D8n$L
7P%G9RGJ
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:Z"A'^sD.r:VnB
2F\&]W SX,@+N
<HTML>0Ya+R7DX:XeW
<BODY>
Nc ?r"OO5e1C <SCRIPT LANGUAGE="javascript">8ML(L(S3d$e,n2?
function Decode() {1N3jm$o!uA6D{7M;?
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;}
Mh'w@\ </SCRIPT>
GS*@#n9u4v a K <SCRIPT LANGUAGE="javascript">
"q!v9o2b9k7U ^!e function d (enc) {alert(codeIt(key,enc));}
(x$oh%l-E ~yZ;q 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;}
"\M$m\x B </SCRIPT>c M*v[$i c7_8m:[H
<SCRIPT LANGUAGE="javascript">/y&Pr1@3Z#o_n
Decode();1k"l,^+f4Gj
</SCRIPT>
*F4Ck.Ks0pFZ </BODY>
*c%RYn j(? </HTML>l1^#D J^a{Su+R*yKy

/SN$eR6P9q6wk   哈哈!!:=)是不是很精彩!!

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


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