捌玖网络工作室's Archiver

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!!r9b^;tnf
't"rwy$\Mp6p
%K|\ b%ia l
方法一:ooh9x F6R7dn h

,Q[x[ge r vE5u!L*OE
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
%zfj6y U M-|
%Ic'eU[5u'm+D4} <HTML>@@2i^5l$o!p
<SCRIPT LANGUAGE="javascript">)C]!zG8m+Je
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" ~6s,{)a/[ AP2j I
var NewWords;
:}N%v`m0fe"V [2W NewWords = unescape(Words);,H Z)Nx'H'U6B
document.write(NewWords)S2SCgW bb'F ^
</SCRIPT>
b"v`p9Q)mn&|#x <BODY>
gE~]y3H%OWL </BODY>6{'VQYf_o v:Yyp6b
</HTML>
MA sj QZ,J-T3[ I7o2jF$u
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
QUH/Hn5??q!j
5q-x sS:R n <HTML><SCRIPT LANGUAGE="javascript">k)L#q(R"HP5]h+Q
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""})u"]+t0sN|4t`
var NewWords;
qAN ^'\0`&^ NewWords = unescape(Words);
3Q#n#UB~0z'tU NewWords=NewWords.toString(); yLG-l(q&C
function password(){
!P-S0H| ]3Jj document.pw.txtpw.value=NewWords;
l+fh[OcRpD }
M!v-X;W,a/rA!h-fDfR </SCRIPT>M?rv]
<BODY>$K d}hu^bU
<form name=pw>:hxY+XZ K @8f
<input type=button onclick="password()" value="解密"> Ms2SO.|PN1f8s.\
<br>
1N)[)n*QYz4gWv <textarea name="txtpw" cols="100" rows="100"></textarea>
f"A:p&w*ypWYY </form>
(G_\5y~6M2|M#J </BODY>2p7w3S'D+ml'W ]OQ `M
</HTML>}0Run!st$P ]f m6q
M F |d#koxq,d
方法二:
3G:T-J;t,t 1]Rd9| {T
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
0cbs5V7d A k Zp4^0r*f_
<html><head><script>P5z P8Y(hN)i
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 ); }
$q0FE.Q:[,eF!FD_ var sJsCmds ="" +
)yQ4O8A a5F "?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" +b!LD:\1N\0|
""; J6s2dd.W]{
var s= Carbosoft( sJsCmds);6a5pbVb5tb|
document.write (s);
z-Y'n^-p#As8~ </script>[7Lah!n,V)|
</head><body></body></html>
f Po)L-|-tN(U\ M`KC B
/_iuM;Gc H   从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:bxR}-Iqz
3SIi8r"T
<script>
"O*J6d&nml2Z%R 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 ); }n1^'Nk W7?bdf
var sJsCmds ="" +Idw:x h@
"?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" +
i @mX ? "";9v'nbH|IX0q3ud`1iX
var s= Carbosoft( sJsCmds);-U,aGZFj} }^
</script>+[E)?f9S$T2P s1`|&V
<form name=qq>
9EW_2_Fo6\c <textarea name=ww cols=100 rows=10></textarea>
L-\2uij\q%| <input onclick='ww.value=s' type=button value="解密">.DB:I ~ga0X!Q
</form>
'SW+H#k:{&U(B{M
's(a4f{M6M2F0p )e*E"EZ!}6eSXU
方法三:+soq8z_+f
)u\t-Zh
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
^&[8W R7RM(gF
2U s5S,PH:F:@E;K <HTML>Y D Tc8oC Z2Ov
<BODY>
R[ i/n/g2s(Le <SCRIPT LANGUAGE="javascript">
$b0_-f(kF!i^ function Decode() {ALc Jc
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;}6hx4t3|6FJ){ q
</SCRIPT>K?V*dksH;`
<SCRIPT LANGUAGE="javascript">
Y;T^4JqW function d (enc) {document.write(codeIt(key,enc));}}2a @)XCBt9G
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;}nH)fTj cc3K,a
</SCRIPT>
I7l3b9^/?va <SCRIPT LANGUAGE="javascript">I.z3S#I7M"h4I
Decode(); e {c ];l
</SCRIPT>7@ am2R&d r7p
</BODY>
7zTu`\6{n"xf </HTML>
8t`z@j!Uj(y
yQl-s8nY2b   还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
f'ZlDM;j %p?a&XhL#EJ
<HTML>
Q+A/_.y$C(|'{c1}_2~ <BODY>A1X.a1RH7p!O\:e N
<SCRIPT LANGUAGE="javascript">\ _+J%cTh
function Decode() {*K(dDr"b'r0o
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;}'Zp-F!|b3B
</SCRIPT>
%q5cnLA$q PD5u"c,\ <SCRIPT LANGUAGE="javascript">
#C~9~/R\ M }8T function d (enc) {alert(codeIt(key,enc));}%Ot9\+ms@,]$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;}
!t Aa sV6mZ </SCRIPT>
(r|Y}4h*h;Q#lgm <SCRIPT LANGUAGE="javascript"> {$fk'x/BN3@6O\
Decode();CKZ O j"_0a j
</SCRIPT>
g5V2I-v)j%@ \Thn@ </BODY>
q/i0z+_hWM&d/G6T5x r </HTML>)}J1f x p4E lW
s&M `?0yA[y
  哈哈!!:=)是不是很精彩!!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.