Board logo

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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!4 V' W: U# Z1 T! A0 n" }: T

3 r, w! B+ f3 ?* z& c
" I8 p$ R$ A8 G' k方法一:
0 \/ z' Y9 y" w. _! s
2 h/ S' P$ I; E( u- C9 v$ g& d; O3 ^' S
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:3 c2 B4 K1 ~: ~7 K$ y3 x' S

6 R6 {8 f; R5 X8 z' [" S<HTML>% i+ J9 h9 d' P9 e$ b1 a' {
<SCRIPT LANGUAGE="javascript">
$ k! w" Q, c# e. D0 U9 Avar 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"+ l% \. E& j: D( [6 s! i2 v2 M- S! w4 L2 b
var NewWords;2 h+ N& m/ ?: J& r; z" l
NewWords = unescape(Words);
# D7 E( @# N  xdocument.write(NewWords)
0 e7 K" \0 T, Z; [/ ?' a</SCRIPT>; i$ [% {$ n4 j; N. X2 P
<BODY>- }& h) y* m) T- Q+ y+ P+ ?( h0 Y
</BODY>
' O; y- L/ e- i" b- K</HTML>
: }. E, S* E7 |" \
: ], y& y, J5 i' G% V( _  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
% F4 C/ A' R: m& ~/ j3 m
# U( R4 b# P! H! F! |' g1 L. s<HTML><SCRIPT LANGUAGE="javascript">8 ~8 g$ L; O6 j8 B2 f/ r. ~
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"9 |& T* p( i  N3 I6 X( w. P; M
var NewWords;
) v8 m# E$ k1 \: g) r9 W4 ^% dNewWords = unescape(Words);: K0 i4 {1 f4 M+ w) J  N- s* U
NewWords=NewWords.toString();
3 m& @) T" O) W- I9 X3 D/ _: tfunction password(){
- B2 k8 n0 q+ D# B- p8 `document.pw.txtpw.value=NewWords;
9 Q, x, l5 I9 Z# P6 x' D# n' a5 x8 I}' \1 O5 y3 f; Z1 W
</SCRIPT>
7 H% s. v* P2 ?! M! I* W1 d* X<BODY>$ `7 j& O/ w% j  G# v0 T* V" e
<form name=pw>
3 g" W1 Q% t4 n# B0 E  ~. M$ ]5 t<input type=button onclick="password()" value="解密">
* t! o6 v6 Y+ F* J% K; d2 F; ?# ^<br>1 T, \0 w" e: S6 z. m
<textarea name="txtpw" cols="100" rows="100"></textarea>0 Q+ y) v) M& d1 X' `  r3 s0 n# D
</form>* U/ |3 E6 [0 c8 w( |' X% \
</BODY>
# }: ^' _. x% H8 R</HTML>/ w* J0 ~$ n( l! M% r4 R! s" c8 z

( E) w' i3 h! N& \6 n方法二:
" n3 j# }* R, Z# N  [
$ Q4 i% ~. j$ T  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:# p% Y0 s6 w  r0 j; ], V8 j( H4 P
0 ?: h+ i2 U- J  b' w) D5 j& g. K
<html><head><script>
: v5 P# n6 v7 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 ); }
4 e( `; }/ s3 J2 y1 H, B" u6 Wvar sJsCmds ="" +
1 H* ?5 z2 Z2 K8 c6 L( F"?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" +% D+ m/ s6 m) R& s* x* X5 ?* n
"";
3 `, G1 P6 A9 L6 Z+ d, pvar s= Carbosoft( sJsCmds);
/ ~7 b* \9 o* i  t( C3 z/ ddocument.write (s);
6 j6 ~: c& M) A& P$ Y( y</script>
2 u  O" a* p# P</head><body></body></html>" H: {$ h  m% s  f( w$ n+ n. G; r( V
  `- \" z" o. c3 j- E% R
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:5 r  }. p+ X- @
! d- |1 K/ Y9 c! v! X. Q. D- k5 A
<script>
8 \- J- h& j/ O+ Hfunction 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 ); }
- K( S/ [) G* F$ Lvar sJsCmds ="" +: \  z) i; o9 T- @4 u5 |: _: v0 i- B9 g3 B
"?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" +) L- ]6 }) L% Q8 e$ T7 J# f! {, U
"";$ v8 w# V; l/ M% s3 v
var s= Carbosoft( sJsCmds);& a) ^0 a3 C6 @2 Q: e. p8 ~
</script>; g0 Z: s( i9 w  r, R
<form name=qq>
, q3 ~2 r& F3 I: s7 e& Q<textarea name=ww cols=100 rows=10></textarea>
0 \# o+ E/ |. k" d<input onclick='ww.value=s' type=button value="解密">0 G3 M. y1 l6 \1 k9 a4 C5 R
</form>
* O3 A/ A% s5 }
8 L; o5 {" t$ B
. z8 E, V. y0 }7 }  k/ T* Z* A) E; F方法三:4 q+ h. ^. k$ {( c1 R6 @+ `

% z; W, U6 _& O- {1 \  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:( [' _1 X# D" `
- Q$ z% o& Q2 O. q5 p
<HTML>" t3 z8 ^9 f. q( E) K/ J8 `
<BODY>: B( x0 b0 l% z6 S
<SCRIPT LANGUAGE="javascript">
9 a) A4 F7 I5 A  d. ?4 h+ \function Decode() {
% [$ M8 W# s0 V  V6 ?, q1 zd("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;}
2 S" r8 H# T, \3 I</SCRIPT>3 v$ ^( j* |% y3 `% S1 V) z
<SCRIPT LANGUAGE="javascript">$ r6 s4 E. T0 V5 f
function d (enc) {document.write(codeIt(key,enc));}7 G! @' w; a1 H, h
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;}
# t( a) \9 R6 ?1 Z; u</SCRIPT>
) [" M# |8 ~9 F! [0 {: F  q* p<SCRIPT LANGUAGE="javascript">
6 q) Y) l5 g9 m" I) }Decode();/ _! R( l- ~% ]- |3 D  V& [1 e
</SCRIPT>
7 Q2 W% v( K' ?; o6 K% a</BODY>
. ?5 I8 T2 C: L</HTML>
; `0 l7 @# |- r1 _) b& x' E3 }% g4 B2 \. q
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:  ]  n, P9 }1 |! i

* G8 i5 u" n! [0 t3 F<HTML>
  \8 R! |5 G' G* M* x7 b4 h<BODY>5 F, v/ M2 h% D% c+ h
<SCRIPT LANGUAGE="javascript">
0 A4 D: X. A, I3 x) h0 E! Gfunction Decode() {
0 m* k7 B7 k' i8 t1 F; O+ Vd("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 O3 D- K- T" H3 G' A
</SCRIPT>; Y+ V( d1 E2 ^7 U  U  R; A
<SCRIPT LANGUAGE="javascript">7 [! g  \  J- T* @6 @) m
function d (enc) {alert(codeIt(key,enc));}
1 @1 m5 L: p# A( L  U$ yvar 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;}; A) I1 z  Q" @3 F
</SCRIPT>
) O' b1 c  R' ?3 q<SCRIPT LANGUAGE="javascript">
. K- R/ `& X% g$ ADecode();1 v1 Y. f9 Y6 c
</SCRIPT>
( \( w4 f  _3 M  k$ L( U2 w</BODY>! V3 w3 T2 U' g
</HTML>
3 x* r2 I- C6 B9 N5 s4 g" L# y1 e$ n# x# [! h6 l+ I! l3 g# M1 k
  哈哈!!:=)是不是很精彩!!




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