获得本站免费赞助空间请点这里
返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
3 \2 I1 P( x1 C
1 |1 Z8 B, z8 M' z0 {7 x! Q0 T& M! e* P4 K9 b# n
方法一:
( r' b' x, X( Q( o( i$ E( w/ v  @3 t- R; J% W5 Q( V% |0 R' g
3 Z. O$ v1 F. S0 X5 N
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:% s4 B& Y- o1 R; D
4 H! S- J" J6 P8 s0 f
<HTML>1 u) Q* g" H) F
<SCRIPT LANGUAGE="javascript">
# h6 \. D+ m2 Qvar 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' v: i- V3 P% z, r* B/ Lvar NewWords;  G3 D; g. {$ d6 ?& L' c1 h
NewWords = unescape(Words);, b8 r8 K+ g: j
document.write(NewWords)7 w& N3 f( g  b. t1 ?
</SCRIPT>
2 K( m0 A4 O4 c: l, \' L<BODY>
/ U+ C; h, g9 R/ d</BODY>
5 D* G6 P2 J2 Y, M4 Z$ [</HTML>* k6 @. j9 {- W& E. ?
3 b1 Q) q; y$ }  t
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
& d  B3 r9 `- g- F4 N. Z, h/ @+ e# f) ]0 f0 x
<HTML><SCRIPT LANGUAGE="javascript">1 v% R* S3 o  `% j& f% s* @
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". p6 ?& {. Q0 P1 c. w
var NewWords;+ _# |6 N8 _+ K8 F
NewWords = unescape(Words);
. a, m$ h7 Y" w( I2 a" |0 CNewWords=NewWords.toString();& b7 ^% P) ]" n
function password(){' E  t: j/ q- A5 B2 O( G
document.pw.txtpw.value=NewWords;& y1 [3 D8 w" H3 E' x
}8 `; r! ~8 ?! m2 c' h
</SCRIPT>" A# ~) f/ x: n; [( w1 j( F
<BODY>
5 l" W6 s2 W' \0 j; r' A<form name=pw>
4 b# L4 o6 ]: p5 ^2 o+ ^<input type=button onclick="password()" value="解密">0 R' O% O- f0 Z
<br>7 p: e( c" z& ^; P( }  D, C
<textarea name="txtpw" cols="100" rows="100"></textarea>
. z. w2 x3 z- T9 y</form>" W0 f3 J6 S7 s  e  O3 g" I
</BODY>4 a" t4 p: m  [0 C# `( m6 a# c
</HTML>2 |5 e, r4 H6 H8 L. h0 B
8 J; o* W0 I' T. f. |
方法二:
- r0 c* n- q6 P& u' p" @8 v( T% j7 a- j. L9 r! R& B: G! e! I/ T2 E
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
/ i/ w* }( }0 n9 [3 f6 |+ Y- p: i' e. P7 @
<html><head><script>
# X4 Q2 v6 Q" T0 O+ ^( ofunction 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 ); }$ @: }6 r/ c4 f& F6 N
var sJsCmds ="" +: Q6 Z( e: ?0 q' b5 P
"?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" +
6 v* r+ g7 z$ s' d. ^" M% g! B2 f$ l"";1 j9 y/ E" x, W8 H5 X- z/ [
var s= Carbosoft( sJsCmds);
3 L* B: ]4 S+ ^/ q$ X( ~document.write (s);% P, S- H6 F- ?: P- X$ ]
</script>+ O- W, Z& m. |0 i9 N
</head><body></body></html>* c6 t5 X, H* ^3 J% S& v

1 Q) X2 s# S$ b) U8 H1 _; \) r. ]  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:, s2 U3 |% J4 N8 G& `

9 {4 h; |. p* @( j: @7 g+ W<script>3 x& G) {7 Z' e, e6 }
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 ); }, o. v6 F: G4 j% d
var sJsCmds ="" +/ d( l, \. D/ J* q) b  s
"?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" +; r# W% d/ W( u1 ]" I9 S
"";9 Y( K9 q3 ?3 t
var s= Carbosoft( sJsCmds);
: Q, U# G+ t1 ?- ~</script>
* z& w) C  V* U  V6 p% A<form name=qq>
+ H6 z% Y4 ]8 j- E% t1 `<textarea name=ww cols=100 rows=10></textarea>
! [$ P& v3 O* j$ c* j<input onclick='ww.value=s' type=button value="解密">
% Q* k+ [$ q: \& w# z8 t/ ^2 [</form>/ N: [0 }. j8 G+ V7 j! ]
' |2 @% J- W. e0 S! Z( k
' i6 T& e# ?7 W% ?9 z
方法三:# r+ x' [: _& J
4 W! f' g8 n, D2 a# r
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:. S8 z8 v2 Q" |" J
! a5 J3 ~* |) F$ K5 [1 v
<HTML>
! \# u# ]6 R4 q4 z% H<BODY>; n4 i) n5 \& ]/ Y3 w
<SCRIPT LANGUAGE="javascript">
/ u* F$ e; E; s9 n) ]function Decode() {4 t3 |& t& M$ @9 u$ 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;}
! l+ @0 i. Q4 p+ ]' B6 D1 u' o</SCRIPT>* D3 w/ V, Y. R' }8 ]% D7 a
<SCRIPT LANGUAGE="javascript">
8 o3 D2 b, V- |( {function d (enc) {document.write(codeIt(key,enc));}$ |0 U9 |1 y2 T: X5 O3 c7 o
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;}1 `6 w+ `1 A8 q7 c2 D* }
</SCRIPT>/ ^1 ^# B6 F; ~, }1 d2 K
<SCRIPT LANGUAGE="javascript">
- Z. b% {2 l9 ^* \Decode();, z3 G. [% a& r# |
</SCRIPT>
/ ]7 {, N- x' L</BODY>
2 }' \2 l2 E9 |% [</HTML>! G* p0 V7 Y8 O+ }
% f4 q: n3 ^3 G- }% ]
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:  `, x# V( `* F1 R

" @+ q( P, r: }. D/ L7 J<HTML>
; M4 J2 c) {9 L6 ]5 N" B<BODY>; e) R% E. q; C+ o- u% m
<SCRIPT LANGUAGE="javascript">  {+ R* u. x9 U9 ]5 p+ @7 h
function Decode() {
5 }& |' n4 C! d+ R# f6 gd("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;}
5 ?9 O" v( M3 n</SCRIPT>8 ^9 x2 c2 ^& v4 b2 i: p
<SCRIPT LANGUAGE="javascript">6 a2 n% V/ r+ U0 n
function d (enc) {alert(codeIt(key,enc));}3 o. V6 H7 l; H! R
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;}
9 n5 N  r/ p( o0 `</SCRIPT>
3 o4 A* Z; _" v/ i( i<SCRIPT LANGUAGE="javascript">
- U1 a5 H* M/ FDecode();
2 [4 y/ V8 l  X8 T+ p3 r/ F</SCRIPT>
2 a% Y6 n# f8 G$ `9 i" u</BODY>" X# a; E$ c* U8 ^6 d0 J
</HTML>
( u! x) D) e. C  o. j* Q0 G6 e
/ M6 v1 M& k! y, w4 ^2 l  哈哈!!:=)是不是很精彩!!

返回列表
【捌玖网络】已经运行: