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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!. c% F- G# ]* ~. s. r+ u2 V* `0 Q

1 S" Y4 _8 a$ F3 \
( y4 m5 ^  g3 X, I  s1 |; q1 Q, S" g方法一:
8 @9 R; Y/ f! ]
& @+ z) e' z" |% E7 |, T1 m( Y
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
3 m6 f; L7 @0 I9 t: J
3 R# O7 t& z( E5 O<HTML>4 i  u9 T$ x2 O7 f, b& n, i* ^/ L
<SCRIPT LANGUAGE="javascript">$ s: ?# S6 V5 S: F3 E
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") V5 `5 R3 d6 K* Z  _
var NewWords;5 m5 }) R" A* B: y# I
NewWords = unescape(Words);
# T- `2 s$ {' Z$ |& Bdocument.write(NewWords), `9 Y( [3 O- k( P7 }
</SCRIPT># @) x4 @. X3 v3 f4 ]) m; Y
<BODY>2 L3 g0 v6 w% u5 s, s
</BODY>
& @2 ^0 K& P' F5 r$ V4 X, H/ u2 Q</HTML>
4 g7 v! ~5 D4 H1 H! w2 k
% f! c: K" p( a5 \' m; Z, ?  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
5 E% T! a- \. Y! I' l0 ]7 v0 C2 j% \/ _/ ~& h3 ]" U  ]
<HTML><SCRIPT LANGUAGE="javascript">
: @! i- S& A/ O9 N+ svar 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"
5 F& @8 |8 F. w8 _- E" h0 x8 Jvar NewWords;3 D; U8 s0 w1 T
NewWords = unescape(Words);
* O% Z, v/ _0 J1 f& O- u9 |NewWords=NewWords.toString();
: S; h1 Y$ {/ u7 B9 Z. s( ofunction password(){# G2 b: a# p: h3 ?6 j
document.pw.txtpw.value=NewWords;
! T- X- `$ B1 y( T- }0 B% a}8 ~) K, r& S: k) |- s$ {
</SCRIPT>
6 Q& w' G  L- s- L% G<BODY>
5 T* n0 }4 W' L" h2 T, ?* _<form name=pw>
( b$ z- T4 ~2 Y' p2 [. \<input type=button onclick="password()" value="解密">
: O- z4 L# h! d; R: Z<br>- e7 ^! U# \& }3 ?! G
<textarea name="txtpw" cols="100" rows="100"></textarea>$ n0 A4 x* D/ C% R7 [4 R1 W
</form>+ F6 a1 o* }4 I' ]7 ]8 D* S
</BODY>4 H: P5 g/ P8 L0 b4 d" [
</HTML>
! v/ @9 g' s9 I) x. o+ T2 |7 \5 k  _) A" ?. V# v- a2 q
方法二:
. y$ \7 L1 s6 Z1 a/ e  n6 k& ]+ K# T  I) F
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
: A0 U) ]% l5 s9 B5 ?& ], s- E8 v3 v1 `6 E3 ]( V
<html><head><script>
. K) e7 B5 D3 p: I, Kfunction 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 ); }
9 o( v& F' U# j! `* avar sJsCmds ="" +
9 H$ C; `! d4 D1 A5 U"?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" +
' F; ~# g; I) e' v* y% z"";3 j& Q- M6 _* B' l2 l, Z# o
var s= Carbosoft( sJsCmds);
6 O: \; M  c: f2 U9 Xdocument.write (s);
; d( M) S$ y3 @2 f</script>
( A4 O7 {+ [4 x* g  o1 P$ H( ^1 f4 J</head><body></body></html>, Z  {1 M) R; C% q' B8 L
, {, M$ |5 T1 {* ?: @
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:1 p5 N( C+ @* `. F$ `0 ]6 s, n
  {$ I- J, k! C3 s. Q( {
<script>& \6 u& w9 z: r( P5 x$ i2 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 ); }3 n# R6 }- g& a9 E: O0 z, t
var sJsCmds ="" +
1 \" M+ S1 j. w% P0 _6 S" Z. f, R; 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" +5 W6 Z3 r7 W7 Z6 _
"";# a* O4 K6 N; f4 d( I7 ^9 \; M* l
var s= Carbosoft( sJsCmds);
8 D3 _6 s2 c! P</script>
8 Z3 R4 N/ _9 S% E) T4 b3 S<form name=qq>! j3 a0 W8 K7 |$ U' y$ [2 @$ q
<textarea name=ww cols=100 rows=10></textarea>
& G$ V  ]' C4 {0 E- r+ [* L0 F  Y<input onclick='ww.value=s' type=button value="解密">
3 {1 f/ ^& _3 h! H) n7 g7 X' e% T</form>
6 }6 `1 c! r$ g' C  h& |3 N3 F: F$ P1 B* M! t
* E, e- K3 g6 p4 ]: M  J( {  R
方法三:
/ {+ i# {/ v+ L) c! r  `4 f1 }% m5 [; Z/ _* ?
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
) N6 M! c, z6 j4 l: ]& l( m8 V  H1 X+ _6 {: z
<HTML>
9 ~! R6 T- n7 l+ [<BODY>
4 s" h6 q# q7 X4 ]7 g- g/ c. t$ x<SCRIPT LANGUAGE="javascript">" o0 K: K4 R; w  v
function Decode() {4 z. X8 m& y+ Y6 z# `7 S
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;}- J. h  Z, d( V! [- a, u) u
</SCRIPT>2 g8 O5 [% E. `& u
<SCRIPT LANGUAGE="javascript">* ?+ r# t$ a  c6 t4 e
function d (enc) {document.write(codeIt(key,enc));}0 m! o, H5 y+ K- Z' t6 u$ J
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;}$ ?* f% B0 {" p
</SCRIPT>
$ e+ H2 F: \, z<SCRIPT LANGUAGE="javascript">- d$ E4 }+ H) }. `1 h4 @/ W, e
Decode();# r) F! t2 `9 d9 l- i% j. m
</SCRIPT>  ]3 p/ f! _  P" H( B" J3 `; `7 d$ ]
</BODY>' y5 i. W- p. W" N
</HTML>( ?1 Q" c8 n. L) R1 O0 Q

6 E+ e3 _1 [2 @  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
* X% b7 a/ J! V! Z9 l$ n
3 O- N2 H# K9 B" w1 z5 j. {<HTML>; x! L% M! ]/ h5 O# j/ R
<BODY>
7 N8 `9 ]- L5 t4 u, n<SCRIPT LANGUAGE="javascript">5 g( S( \. i/ r- E- c0 B, r" n' }
function Decode() {
1 |& o9 l( U+ k" x  k' E1 u8 W: E$ Nd("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;}0 C) G0 u6 X1 `$ x0 T+ K0 X' W
</SCRIPT>% Q  [6 E) s+ ], e: S6 B+ M
<SCRIPT LANGUAGE="javascript">
1 j6 o5 I2 o3 Z  s9 t6 Bfunction d (enc) {alert(codeIt(key,enc));}
( T! K6 p# z( o8 v8 W3 l& pvar 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;}* y& X" s/ ~) Z0 v/ M# j
</SCRIPT>; l6 U; Z; w; e' V5 `& K
<SCRIPT LANGUAGE="javascript">
. o  Q/ o( G" S+ C& K# {* X: SDecode();
# v, N8 W9 G3 i- V! W</SCRIPT>
6 d$ F: v2 U5 C, l</BODY>
5 H% N6 F  l) ~/ s</HTML>
5 ~$ {8 E- z4 a! R4 }1 R) @7 v8 ^6 m, c7 z4 E
  哈哈!!:=)是不是很精彩!!

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