Board logo

标题: 网页制作中页面的加密和破解 [打印本页]

作者: admin    时间: 2008-1-19 23:24     标题: 网页制作中页面的加密和破解

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
) L+ Y: E- @. n! G
5 I# J+ P( G( D: ?
. I$ k# W8 W" _+ O, Q0 k" ?方法一:
' f5 [# S4 ]7 L) `( c6 z' h& g" l
. ~4 J$ M/ y1 y4 d6 G8 Q' V
7 M- f0 \& A. X: G6 V  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
) G7 R4 `- N* z5 x- t) I
: _& ^) P0 E& f. j& D<HTML>
  G) G% r2 O, i. ^. ]<SCRIPT LANGUAGE="javascript">: [9 W! C4 P+ Y  }1 {# V. T
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( s9 L0 D/ P! p8 ^
var NewWords;
8 h4 M8 q1 X! z9 q4 t9 m6 F; MNewWords = unescape(Words);
0 q+ @; u" C3 l5 H* |5 L( ]document.write(NewWords)
" H* ~* I5 V/ [  ^' q! r7 V. I</SCRIPT>
% g* m7 ?8 T0 ?1 C<BODY>9 c. C1 r% W- O1 {0 A
</BODY>
! m# p" e# [/ ]5 M</HTML>+ [: k8 B- q+ r
( S7 g, L- ?5 K. s' w! p  A6 w
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
+ W2 g1 M! k6 y1 M" F( A. i2 b! @  c+ I. Q  ]
<HTML><SCRIPT LANGUAGE="javascript"># h  m/ Q2 L7 A3 ^# e0 s5 f
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"6 D) n; x- B. t1 |! i7 `
var NewWords;
6 @8 z" ?3 b* `# |+ T' f2 c/ qNewWords = unescape(Words);" U0 V+ s' L  p
NewWords=NewWords.toString();
3 X0 Z: |  n% p0 w( A  Y; X9 }function password(){
) u1 g  p* V- M2 }, ^document.pw.txtpw.value=NewWords;
' I6 V0 W8 i6 d+ t: }}
: q. Z+ @+ M+ D" h+ `# ~0 H7 K</SCRIPT>1 {9 H1 m1 {$ c& D: u4 N) g
<BODY>
5 T/ A2 x  D) \2 z<form name=pw>' e* ~# k; C& {3 v( W
<input type=button onclick="password()" value="解密">
8 [! [3 u: _6 A$ j4 }; ?<br>" \1 h3 k' N# i1 K' q7 |) Q
<textarea name="txtpw" cols="100" rows="100"></textarea>
/ o; h+ x: R/ P9 H% @2 z* J</form>
+ G# `& d+ p2 x</BODY>
8 I0 y% j2 e1 o8 w- A6 q</HTML>, H7 _0 S# a$ I& L1 E7 j1 F
7 N2 ^$ {$ o$ \
方法二:
) o5 r2 ~8 Z& H  v$ ?5 ~; t' x3 f. ~6 E5 o
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:, K( c% q! q2 U( Q/ @
+ m0 b- U) C8 p
<html><head><script>
' E! M  C- H! |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 ); }, |: e! }1 s, n: j
var sJsCmds ="" +
6 L- E! p5 v) \"?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" +
3 o9 I# {1 o* b9 ~& n"";" y* j1 m3 L" y7 z: z  ?- K# [
var s= Carbosoft( sJsCmds);
/ G. Y' e  g' H! f7 X! E" ?$ `- Rdocument.write (s);: a* Z! B' ~5 ?6 n6 N& P6 F
</script>
% S- {$ R  h8 U  l& L</head><body></body></html>5 i* ]9 P& i+ t, [% P
0 Z4 {5 k9 A  H% S4 u
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
, w: o& K  b7 V( h7 `  W
& J) D2 f9 \1 ^; a! O, h, ^<script>' c) P2 m" X- u; m' {" t* Y3 x
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 ); }& e9 n$ t+ ~" S9 Y9 i# n$ X
var sJsCmds ="" +
# i6 J  o) U5 X! m"?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" +
$ w+ `. B# a' r! p"";
# S6 q* v6 a+ }5 {var s= Carbosoft( sJsCmds);
1 a6 j/ B8 {0 d, \6 x; T( {" n! [/ y</script>
3 ?; Y6 L( `- a6 x% p<form name=qq>
& M4 y% x( |2 m& S2 A0 J# f* Y<textarea name=ww cols=100 rows=10></textarea>
7 A- ]$ _& Q4 B* U( l* N  r<input onclick='ww.value=s' type=button value="解密">3 L' T) h% B4 u7 E8 d+ Q' g6 O5 n
</form>* D4 w* ^. Q2 y9 m4 P

. N2 h* q; X# i' P* y0 h* @4 Q0 D3 m
  ^! h& K% c. J2 p' @# X方法三:
7 W; |# o  t7 u2 G4 e3 n3 C% J. m6 {( P# a
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:7 y( k8 ]/ q5 Z/ D

/ w; |' ?9 [8 }<HTML>
9 K0 n2 m& x+ F! ~<BODY>1 B! \( @& P$ d# Z
<SCRIPT LANGUAGE="javascript">
# |, |1 y- L2 T% V' M/ k2 ~function Decode() {
; j* M/ D& H: A% a! W3 I7 ^( jd("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& F0 l( F5 E</SCRIPT>- Z, ]  ~! Y/ e$ ^
<SCRIPT LANGUAGE="javascript">4 {4 t$ O) E5 I# A5 B) G; g
function d (enc) {document.write(codeIt(key,enc));}
' u0 I, i5 a$ x4 z( ]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;}' L$ [4 ~  A0 ]& i2 d2 E
</SCRIPT>& A5 o* k" O' J& q# l5 B+ \
<SCRIPT LANGUAGE="javascript">1 Y- b$ \; Z9 F$ M
Decode();& E$ K' @9 a* y- _6 G/ N* t
</SCRIPT>) y  i9 l4 [# \1 c9 ]- I; m
</BODY>
# d9 g0 d$ f# Z% b</HTML>
' I) C" V" _( e  o/ h& d# K! w5 F6 p5 t3 M4 U
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
& x7 @' W8 m1 c% _8 E7 N; x/ J& f
  C; m/ d# I! J9 G<HTML># d0 t; A* \- M% C+ c  l; H: C
<BODY>6 Z  ^$ \& }; Q3 Y# ]
<SCRIPT LANGUAGE="javascript">
, J3 E- _# \; p/ g  d  W+ e7 h: }function Decode() {% f7 P& c" h. N# j* m( 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;}
! Y  ~: o+ `6 f7 j</SCRIPT>
' x0 ^) }! ]  V0 ]- f* j* f<SCRIPT LANGUAGE="javascript">7 F2 p7 c7 w! r9 \$ ]. X6 g
function d (enc) {alert(codeIt(key,enc));}
+ M" T; f9 w$ T  S. a0 Z: |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;}
0 s1 s' f) H1 L</SCRIPT>
" S: o$ x# J" s<SCRIPT LANGUAGE="javascript">
6 D& r) i2 U* \, tDecode();3 {4 I( b$ Z4 H7 B9 b
</SCRIPT>
+ L( z  ~8 n+ g9 q2 g8 G</BODY>6 w/ K: K( ~+ W% e( ?. K2 Z1 f3 {
</HTML>  N. e* S, `( }% O1 k: ]
$ W2 o# J& S. D
  哈哈!!:=)是不是很精彩!!




欢迎光临 捌玖网络工作室 (http://89w.org/) Powered by Discuz! 7.2