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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
: J7 ]5 ^  N. m: w
$ v  S% C+ w% ~4 y( _. b  P& U+ o( [$ d9 M( O( U! C
方法一:" U! ?) H; G. U8 i/ ]* O$ f9 g
# B. Q& f- P3 i$ G

- Y  ?: h/ Q3 n4 e! E0 }9 q  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
7 X# X8 u% m# V6 K; e8 r% \! j' p4 w2 D0 b' E& B
<HTML>  m: h6 d8 E: {9 T" L
<SCRIPT LANGUAGE="javascript">1 ?  ^+ V& x( e) n
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". i1 f1 U# R3 }/ B# n
var NewWords;
. S8 r6 C: J) y5 ^$ hNewWords = unescape(Words);9 R, c# m% l: w' q/ F2 h7 h2 Y- l
document.write(NewWords)
: m* n* g( O5 w" J" I- x6 j5 ?; p</SCRIPT>
( I3 A1 A0 _4 T# s: K/ i<BODY>" I4 A! h+ ?: y  G
</BODY>
8 z: u# i! ~0 c( s6 u1 X</HTML>- F1 v) N$ H" H4 |) |5 t" L
% d  C* D" Y  ~  N
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
2 U& z3 J- j3 f* H* q$ L$ {. {% T  C$ p* E' p
<HTML><SCRIPT LANGUAGE="javascript">% N$ p, s' r* Y/ X' v5 K
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"1 r$ r7 V5 i; C( g
var NewWords;
/ J  t. d& K9 F2 M1 ?NewWords = unescape(Words);
* L4 z# P0 m) Z8 h+ CNewWords=NewWords.toString();
" ~9 O' {: K" Y7 ~/ D* A) }( vfunction password(){* U6 t9 n- u& M9 W( g# ^
document.pw.txtpw.value=NewWords;, e9 _5 q& N8 r/ j0 r5 i0 F9 w
}
# O. a0 S0 @0 G* P3 w( j</SCRIPT>
5 Y6 K- ^4 f  i: p7 h3 Q! l<BODY>- F" U$ s% @: W9 ?9 j
<form name=pw>. c# j7 P8 E* W1 l; `
<input type=button onclick="password()" value="解密">- L1 m4 [/ x9 D! q6 W8 r
<br>5 L  k) X# q! A0 \  W" u& |
<textarea name="txtpw" cols="100" rows="100"></textarea>
* ~7 F4 h. u& q6 i/ I</form>0 K$ S, O" U: h$ z0 J8 D1 A
</BODY>
/ m' D9 D0 }1 M) _! f+ z$ ~9 C</HTML>
+ C# _7 |2 n: K' U' K0 c: q% A2 u! Y8 N, l7 I$ \0 W
方法二:
; u9 A: {$ U) Q3 T: n3 _* k
# Y  U& l) n$ t% ^  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
5 l/ U. q% R5 R; e) b+ o4 B5 h0 N' P
<html><head><script>
/ `- T% g7 ?6 `( ~8 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 ); }
' t. b- f0 |9 x, a* C& ivar sJsCmds ="" +
, Z1 L' O( V* {; s, 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" +
$ K4 m; p. \; v2 E"";
7 i2 L) `4 r! a8 M8 v; Dvar s= Carbosoft( sJsCmds);
6 a) i! k0 p4 O4 ?% W+ Ddocument.write (s);; S3 Y' ^: O9 ^& e$ V
</script>
* k. T- ~* i" F7 G2 ]</head><body></body></html>
3 |" n% C4 g+ X& i# O3 f: N/ a) D0 Q+ ]& w) K8 [2 p9 ?8 X! _# v: @8 |
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:6 B! [3 \4 e/ G* U

2 M; s* h" D% a& x; z( f( |2 E<script>+ n; U/ `; k/ t4 Q4 d
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 ); }
0 e% e2 b/ r$ D, `& O  m( P" i( Wvar sJsCmds ="" +1 }2 E" I- F* E0 d
"?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" +
. k. l, c$ M6 s9 U' x"";
5 U3 [; U" N$ t& S4 s$ n, }$ p7 ]var s= Carbosoft( sJsCmds);0 |% o4 n( S  i+ Q
</script>
; G  W  y2 C5 ?* c$ X% }2 ?<form name=qq>$ }( I( o% s2 }9 K$ K$ M
<textarea name=ww cols=100 rows=10></textarea>
# v2 p3 S& Z8 C+ m. g! E9 P; i<input onclick='ww.value=s' type=button value="解密">* A  Y. U' ?, w) d% C' t
</form>  y" x( [" _5 h3 F

' a6 }, V& A4 p, M; K% _+ O5 Y$ X+ p
方法三:1 i% {* r9 o/ o
2 |) l) w5 X" v1 L% r9 H4 S* g
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:% ~! Q. z8 w2 Q  Q1 ]" m) M
" Q$ \) l1 l( [  x% O: `# C
<HTML>
" ?9 ~, z' X9 X7 H5 k<BODY>6 m0 y3 d6 F6 q2 P& k
<SCRIPT LANGUAGE="javascript">9 A. L, p7 S6 S1 l& {. F  O
function Decode() {% ~/ ]: \9 o! G5 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;}
7 G% ?9 ^8 I3 }</SCRIPT>
1 x  Q1 b; ]% G9 }9 f5 Q0 S* f6 m<SCRIPT LANGUAGE="javascript">
; Q, R# e7 f. T3 q( Sfunction d (enc) {document.write(codeIt(key,enc));}
  W  A" a4 t" J9 }0 @: Y1 k  K& rvar 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 I. _( g# i' _4 o% v* B4 T, Y& T3 f1 y</SCRIPT>5 [6 [2 f7 C6 c$ Q$ r
<SCRIPT LANGUAGE="javascript">
4 A' W3 V/ z- Y& r9 G" l0 B8 \+ A1 hDecode();
. Z( Q; r, g. ~6 ^, G! q+ z, S</SCRIPT>. I4 j- h. w. ~9 Y4 O  t
</BODY>5 `1 o) F8 }' E8 h
</HTML>3 S: Z( I! E" ^; X
. I( O0 r1 f5 S/ u
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:& r1 L. Q/ S: n, f

( p  R0 j2 G& \/ u: y$ y( W# D<HTML>/ V3 B4 a8 K1 |, r; k0 `
<BODY>/ L4 T( R1 i1 g0 e1 M; O6 B1 _- V
<SCRIPT LANGUAGE="javascript">
0 w* a2 \/ @# E/ r8 Jfunction Decode() {% w* P% A- @9 [+ L: I" K( g
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;}
" T& ]' Y* C1 |* P$ y</SCRIPT>
- C, D* X' s2 h<SCRIPT LANGUAGE="javascript">
: u: R2 M. Y' hfunction d (enc) {alert(codeIt(key,enc));}, t8 ?8 x6 [) C$ R' u1 h  n
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;}% v5 ~# X  _4 O; L4 c
</SCRIPT>0 A+ Z) L; |% e. e' w4 Q
<SCRIPT LANGUAGE="javascript">
# Y0 `0 {9 ]* aDecode();* m) q% B! Y9 g, a& Z0 Z/ o
</SCRIPT>: s) r0 `) n5 c2 P. [* j/ ?
</BODY>
1 w( n5 w8 I- |</HTML>" g4 f% q( ~! I# r4 Z
* k7 l* b* x( r$ e2 t
  哈哈!!:=)是不是很精彩!!

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