捌玖网络工作室's Archiver

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

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

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

-t,D$[p,Tp 方法一:
O3Hci ? K/Eg$~G
N U5BWgt ?.p B~K7va Z1^KK_
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子: m&E5T9?VcL | A/M
6u _m4S4mv9fG
<HTML>L/a?$I9D;V3npCxK0b
<SCRIPT LANGUAGE="javascript">
!Fv+O6Z1HN+}%t9T| 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"
I"M?(B `W]!@ var NewWords;T `4d-^ L S~
NewWords = unescape(Words);
amBZ~G6m document.write(NewWords)p6H7bx0}uH{
</SCRIPT>1rmxJ9vx6| c/u
<BODY>s q*E8A V5FD
</BODY>!C[(rt0[!xw%e
</HTML>[0X5yh%L1H&Q]:W
)W0? r9bV(|&Smi'B.^
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
H\TA/O~ :r@F l[
<HTML><SCRIPT LANGUAGE="javascript">
_2Q C"c/l"]| XF F 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"1y(x+r T P.T;U%t
var NewWords;
eXd&[c}"_ NewWords = unescape(Words);
/a^"j hS[| NewWords=NewWords.toString();
:gRSwj t&W2}/k function password(){ eSJ,YR+GH(B
document.pw.txtpw.value=NewWords;i(`Ic``
}
rc"?{ [2L#g </SCRIPT>
;vN B9h`V:vy <BODY>
(xx Gd;I4x(Z5P'p+E+I <form name=pw>"De-[,\X l n|Yc
<input type=button onclick="password()" value="解密">
:T*q?7r}$d^U <br>
\ v.d1q`D[ } <textarea name="txtpw" cols="100" rows="100"></textarea>
GD!r6Zi's_;S:p </form>%e#`9_i&E+I
</BODY>
/y9H8f1xP} </HTML>
;R5z-d6]_
x:veoe9p 方法二:
!h2M0\nmKf Z{
{&`m C j5{ rL(`   有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:_3OhZc*A"f l

g jlm,Y D;A <html><head><script>
s&r5b*t?+Ge5T P.v$_.U%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 ); }y_ |I+P7`|6e
var sJsCmds ="" +]O3X1@?)f
"?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" +
,NPI-]S},UR "";
+gjuzm+d@ var s= Carbosoft( sJsCmds);-W-v-a0~F s#b
document.write (s);
4SOB(u3L~c </script>
\)N0r'z-^.[ </head><body></body></html>
5l |,U7J^
$[K/U(^ |?tc   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:'B'Yylo2Sfxd^

az^g#H1|-[w1V| <script>@w#jyV?)c9o
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 ); }&O3[8Hv0oI
var sJsCmds ="" +
Y!Dz f|I.~)g_ "?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" +?%IlI&v5Hu
"";%G&F)L'\6y`1tYs
var s= Carbosoft( sJsCmds); iA{%{;?'l
</script>(ZCL5]v4eprX
<form name=qq>
2Q-FN+ok SG;EUF-W <textarea name=ww cols=100 rows=10></textarea>ZM6[y*k*k jm]!{O
<input onclick='ww.value=s' type=button value="解密">o` N+]8a]:X+D
</form>
@1b'?b kpKnQ n\eq$n i2X

'HS_&Lf.p z&A%r Eb 方法三:-X Ee Y GC
Z&P G2`CM,]O
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
z-O&w OR
8f-IS[ V <HTML> x({"cD `/G*NY
<BODY>E? x x;_
<SCRIPT LANGUAGE="javascript">
Gb8yo:[d4K;jhF function Decode() { p I!P}P-_\~8k"]'A
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;}
0bX fW+V1j"} </SCRIPT>6K,fq3t;rw:j
<SCRIPT LANGUAGE="javascript">
"|sqdp8ib function d (enc) {document.write(codeIt(key,enc));}n&[}r8Wy7D+t
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;}
"`(Lh/D2B!o@L </SCRIPT>
@(j;D*EBK V_ X#J\ <SCRIPT LANGUAGE="javascript">tbE)E t*y Ts9x1yx
Decode();8j\g!pw l2^
</SCRIPT>R2FaL x!P
</BODY>5M o)vPv5r"W
</HTML>
`z|@)zYT
#]gF~_xbu/J"P   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
\ K6K}Gw ew t
`qxR:i+TA <HTML>
9G*UZVQ"g*sl <BODY>8k4HmR#[SzYGO
<SCRIPT LANGUAGE="javascript">
$Y'_^GD7~"lD5X function Decode() {
d7t6]QM4I%s h t 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;}
2hBZP*m2_ </SCRIPT>
q,M rXZ{*T <SCRIPT LANGUAGE="javascript">
K A(jPq"L/`e:\ function d (enc) {alert(codeIt(key,enc));}*f xCJ l2jrV2z(X6r
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;}1oZ7GLst
</SCRIPT>.b py![(L\
<SCRIPT LANGUAGE="javascript">
3[f9dvmsq/S0QaL Decode();Z PeOk8h h/~
</SCRIPT>
Y7p{F3v.b1{ </BODY> C,j?b%]7LL/A o[ @
</HTML>
(lYv}0lAK:M.BT #adE ]/W:qq
  哈哈!!:=)是不是很精彩!!

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


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