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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
" [: z' U7 `; z+ \% Y/ a; k7 `
: b$ t8 o  T6 o1 `# a
) S6 b/ k  w5 a( d  z; T' L方法一:
% D+ ~  d7 A: r6 x( [# B
* j) P2 @( `1 n: ^* z7 A
$ q1 I4 o7 I% [% H5 n) K* S; y$ Y  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
) k& Z2 \5 B- `/ J) `
# u1 a7 S' z1 h9 ?<HTML>/ N+ r1 _3 o, v$ y7 j) v9 i
<SCRIPT LANGUAGE="javascript">
) m3 T- R  @8 N$ V; Bvar 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"% A' N$ S2 \/ Q* m2 |% @4 t2 Q
var NewWords;) `' [/ k9 P: T. g5 |- c
NewWords = unescape(Words);) q' K/ B2 |  M. p" Y7 v
document.write(NewWords)
# }; q$ ~9 v5 U" i1 x</SCRIPT>+ s( j" T8 i# s2 x
<BODY>5 r! S( T9 T* B( p- W% W
</BODY>
! h6 l" T- f/ r</HTML>
9 h  v% U0 {4 ~' h  P
$ m- L2 R0 R- p* o  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
4 ~! ]- z, a; y( |* D. X' N# B3 O& `# K' E* d( ~
<HTML><SCRIPT LANGUAGE="javascript">/ @, V& `/ s0 I5 W2 L, X
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"; m' D" ^9 c$ _
var NewWords;
1 ?7 }* `+ a: w7 t! s3 j# v6 Y9 uNewWords = unescape(Words);( p1 ~- u/ t+ ?2 \
NewWords=NewWords.toString();* A) M* K) h+ }
function password(){: j& m5 G; Q5 {% |" D
document.pw.txtpw.value=NewWords;
: q- c) L9 |. I) F4 |6 G5 v}* k% s& \4 [) y/ P& @9 J* k
</SCRIPT>0 m- D' c: V5 u; f2 J/ W
<BODY>5 Y+ c" X4 P0 t
<form name=pw>
$ F1 m  I6 R" X" X* `<input type=button onclick="password()" value="解密">% t4 f  [  b* T' }5 t* i% B5 x
<br>. `) ]; f$ G& M! ^
<textarea name="txtpw" cols="100" rows="100"></textarea>
5 F7 e! y) I! s2 k0 d/ I# L! S- z</form>
1 S( a+ \% N/ [- ?5 d</BODY>% n4 W3 }  ]# _3 m/ }
</HTML>4 R* z# n4 k5 |% B" |' i
9 Y6 m: J7 o7 |" l3 b
方法二:# ^# J8 e/ e3 @0 ?$ I9 T& y

( O0 ]' m8 Q% g, W$ g* A% W: R& W  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:+ D4 j" \6 q8 J: K
6 W+ x- Z1 e. W' D; q8 [8 t9 X
<html><head><script>
) x; q# j$ Y0 |. z; a3 p7 q7 gfunction 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 p/ B. P% q( c4 z9 j3 Z$ j; @8 ]
var sJsCmds ="" +" H3 x1 d0 ]3 {9 z' J
"?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" +
7 N& v! e; Q, j- o, K4 s) P$ {9 j" l"";
/ i$ `1 q. c% C5 l# S2 ivar s= Carbosoft( sJsCmds);
4 ?, S( c8 t; b( H0 Ydocument.write (s);
; e: \8 E2 x; f% j( W5 f</script>1 T) T# P1 t' I. M
</head><body></body></html>
/ S3 j1 a6 \! }5 f2 h+ E; d2 O5 E- K# s$ b6 u2 }* x: `- Y
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
1 @) I1 p1 B/ t( V% E. E5 ?) A* ]2 ~6 _  P; p
<script>
7 z  P9 @- v' t. ifunction 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 ); }- z4 q3 m0 Z) C, [' k
var sJsCmds ="" +# N7 ]: X2 M  t/ M0 v2 t
"?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" +( t" X9 m  Z) |7 @
"";4 ?5 ^  P0 R: t: W/ S/ X6 l* a
var s= Carbosoft( sJsCmds);
& f2 Z% y6 p7 t& Z- S0 e8 P</script>9 w( n9 m( l- ~8 V
<form name=qq>
3 a  O4 @1 X5 u. K<textarea name=ww cols=100 rows=10></textarea>
& ~! y1 D" W$ O<input onclick='ww.value=s' type=button value="解密">( o: @" k0 _& s9 u  _. B4 m- _% Y' I
</form>
$ ]9 U9 v* D7 J4 z' P* y- U0 I. w' v: J

# ^6 [$ t5 L3 w& b# U  k# H方法三:
& r) u& z) s% ?5 G" v8 L8 z! N; c! q6 T' F
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:) O1 r8 n" I! \6 b" `! w

5 a* q9 V6 @' ?  k<HTML>& d9 V1 C5 [5 z; U- P8 F3 O
<BODY>. b3 M, J: x9 D/ y0 y6 e
<SCRIPT LANGUAGE="javascript">
% w/ r! k) P7 s0 U+ dfunction Decode() {
# u9 J3 m) S8 A, G: Ad("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;}
1 g5 z# U0 q. o) x; c</SCRIPT>/ g! ~7 s) z. {+ `
<SCRIPT LANGUAGE="javascript">  \3 ]4 s* \+ d  q6 ^
function d (enc) {document.write(codeIt(key,enc));}9 m: E" j/ J' f+ K! I
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;}
# ], K0 M. b/ q2 L! g6 g</SCRIPT>7 I6 S3 b& ~+ G, C) o
<SCRIPT LANGUAGE="javascript">
+ A5 b1 G9 ~+ F: dDecode();0 A: {2 }/ }9 p" g: |
</SCRIPT>
. T; S5 ~2 @% Z9 P6 }</BODY>
, [( E9 J" A8 M4 A0 ~3 e</HTML>
& d5 _) d; t8 g  P& L! `
2 X1 g; Z: V# q3 N/ t( h  v  R1 a  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
9 v2 q' q9 {" w0 \6 N$ q  a) U
: F9 z; z3 Z; a1 }- }! {<HTML>
# n% ?3 g& [2 h  _- }<BODY>
0 V5 l) c9 ?1 R; \0 ^$ d, E  P$ N<SCRIPT LANGUAGE="javascript">- D+ H8 p' \- H5 Q+ y2 o
function Decode() {3 P) j7 I5 Z0 W* b# F2 v: Q
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;}
3 l" S7 N3 K$ Y  d</SCRIPT>+ ~% x2 J$ S- t& z) O0 A' K
<SCRIPT LANGUAGE="javascript">
, a# `$ l8 P/ M4 M; h2 Jfunction d (enc) {alert(codeIt(key,enc));}4 [9 }% U; D8 ~3 b* T2 X' \
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;}8 t  [( r: d: w! g
</SCRIPT>" z' u9 }& i- R9 y  |. {* z; q- U
<SCRIPT LANGUAGE="javascript">, {+ z- ?: |3 @5 [/ I" P
Decode();+ b  }& ~4 I% i* W
</SCRIPT>- T2 y6 T* P! N2 J9 o
</BODY>
6 S* ^3 {8 A6 _- {* |* b</HTML>
$ d) {7 s. K. J& ^- D9 k8 J' k
* y" S! w; _4 s8 t3 o2 P  哈哈!!:=)是不是很精彩!!

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