返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
3 b2 c2 w6 F. e7 Y
/ R$ C: s. i- K) Z# H) ?- u& W4 Q+ G: U3 ?" a( m
方法一:* {! }2 R# }* f
0 U: O4 s' x, q' v) w

) X& ]. P- O$ X* F! C( t  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
) e! i. ?$ b' n8 |$ j( J
' J4 }& Z9 k0 o: I<HTML>% W, [1 d9 k) V5 d( o
<SCRIPT LANGUAGE="javascript">
; F; {, P6 \8 T; jvar 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 d4 K$ S5 `6 ]var NewWords;' U2 T; y7 O. T
NewWords = unescape(Words);
* J' x8 }; [' v2 E3 odocument.write(NewWords)
& n6 f( x( N* k. F, {6 x4 [</SCRIPT>  g  m$ o+ D( r6 A
<BODY>/ V9 M( T3 A: M2 ~$ a4 h8 G, o
</BODY>1 Z1 k  |5 i/ ]9 I6 s( H
</HTML>
- \( ~0 |, s1 j2 J+ M7 j3 q* B' Y' o( n7 Y* z, x6 J1 h! |6 [8 L
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:6 C. @# k3 G0 ^: e5 }- z
* I8 X' U- R  z$ N" l
<HTML><SCRIPT LANGUAGE="javascript">
% G6 @- d) \5 Rvar 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. \# b/ U8 Q& L0 t7 Yvar NewWords;
! V  l4 w6 R5 ^, p. y" x2 tNewWords = unescape(Words);' ~& ~2 _) G% \
NewWords=NewWords.toString();
4 v8 ~2 R1 i6 j, v( k1 _1 ?function password(){3 F! f. k. `. c8 B$ D: v
document.pw.txtpw.value=NewWords;& j5 |& `/ h5 R: i4 X7 G2 ~2 ~
}9 c" @% Z. I' S
</SCRIPT>
+ a1 l/ o$ c3 k+ P. f+ V<BODY>
: k& {0 p3 v* }4 N, Z<form name=pw>
) H2 v. n" ^6 _# q" H) ]<input type=button onclick="password()" value="解密">
3 H; ~, C5 ^2 T- V<br>
0 b6 r9 {& }7 z1 p<textarea name="txtpw" cols="100" rows="100"></textarea>" d1 H7 a9 t: i$ T8 r1 v
</form>
( C5 ^# f5 |; l, L</BODY>$ K4 s" j; T' O
</HTML>' Y9 |0 G7 k; K3 w# {) m% c( W7 t9 l/ s

) G( J3 V" @9 h0 n方法二:
: S1 k! v4 q9 J9 }) I" T4 X7 @7 N3 S) t$ e  V9 [
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:; n) i* g0 j- d- r  f5 L+ B

# M: s- w, O1 q+ x+ S+ i4 ~<html><head><script>
* d0 C$ D1 Q  u: I4 m/ T' `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 ); }# d% ]+ ~2 j( P* M3 r
var sJsCmds ="" +" Y, B& T, J3 d  S! F, C  }
"?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" +
- l9 ?+ ?+ Z4 f4 a"";4 Y  k$ Q, C" a5 E: ?9 |
var s= Carbosoft( sJsCmds);5 Q. q8 ~3 l8 z# b9 {
document.write (s);6 }6 x" b0 E/ d- i6 h9 T
</script>
4 k. e. [, n9 ]& N/ u9 f</head><body></body></html>
3 V$ ?3 F5 n, U2 v9 }4 U% k* y6 U4 |: V+ q2 j8 a  ]9 G
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
: O8 @& Y% K" c- Q0 C7 l. q4 j5 T8 ^, w( i
<script>
2 [, n* Z* v1 \: }  Sfunction 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 ); }
+ q& Q2 h1 P" d) e, P% L1 b+ R) \var sJsCmds ="" +
+ U& k# A$ P* I' 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" +
: H3 T9 s1 r5 N: h3 _; e8 ^2 B: ~"";; z8 U: ^: {) B8 q. ~! ?* Q: \# Z
var s= Carbosoft( sJsCmds);: V; z0 C: ?/ O
</script>8 m- f, B" w( m3 U' G. w: k
<form name=qq>
4 E+ S( {6 D9 t7 f  ~4 @4 n/ c& w<textarea name=ww cols=100 rows=10></textarea>  _* Y) ~. n+ U' Y" `" |
<input onclick='ww.value=s' type=button value="解密">, ^# e1 x) y* x* P- E0 M" n; `& ~
</form>) ?$ E( `: f' F( M
$ J+ k/ X3 n8 P: F  x) u
" ~( j% R- j5 z, M9 U
方法三:
( ~  v3 x1 N- X+ ^6 `1 _
9 X4 r5 G5 V5 u" \- p  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:* n, `  G3 I0 J9 v
; e3 O" a5 z( n% Y
<HTML>
. ^, V* w1 [5 [6 d  q6 O<BODY>! c2 w6 H1 f4 l0 W9 o' l
<SCRIPT LANGUAGE="javascript">
+ |, u2 w4 U6 L% g9 M1 afunction Decode() {
8 M$ g" K3 {. w/ Y* |/ x- ud("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;}4 I/ R9 `9 X& e4 d. c- Y3 \& H
</SCRIPT>5 L3 c7 u$ _7 ~. t
<SCRIPT LANGUAGE="javascript">
1 c1 f1 Z1 [- J# Wfunction d (enc) {document.write(codeIt(key,enc));}3 F1 D  ]2 v% v, ?
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;}( X! B' }% d( L  a" C' O9 {- f& S
</SCRIPT>& J9 _; E! i' Z0 c: h" @
<SCRIPT LANGUAGE="javascript">
7 F: ~1 W& B3 Q5 u  D8 [Decode();' M" b) j7 i. `( F) X8 `
</SCRIPT>
2 B6 u1 n& A' ^/ e* D4 j3 @</BODY>
2 n7 i( \! F; t; Q% \7 f</HTML>
3 G1 Q* R$ @2 C/ e% r& `4 u% P9 s: r9 {% J4 F! I; k9 E" P. w
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:! _, R; X6 p0 }( v

5 p) b2 S! Z" f" o! w7 O& Y6 f<HTML>9 D0 j& f$ [$ F
<BODY>3 P/ b3 @% s2 l8 ?# _
<SCRIPT LANGUAGE="javascript">
: B5 i5 J. g9 c/ Kfunction Decode() {
4 C8 L$ n" N4 b( _9 F1 B. |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 a" `# O$ B. {; p' _</SCRIPT>
9 r) Q6 S6 u5 m/ b: v0 [2 f<SCRIPT LANGUAGE="javascript">; p& Z  X$ E7 }! }+ X8 l
function d (enc) {alert(codeIt(key,enc));}. T% L# x6 N0 O8 U) D" g8 l& V
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;}- e0 d/ N) E1 p
</SCRIPT>
, Z2 ?3 U; n" ^, _' T- r<SCRIPT LANGUAGE="javascript">" j/ m. p+ c4 O" v; ?1 w; s
Decode();
7 g9 D9 q+ u0 ^9 P# M) ?( c</SCRIPT>
9 Q- ]) Q8 b, [6 r</BODY>& Y4 S5 X7 k) E
</HTML>
% h) e) [( T& Y/ L! u$ o
' c' S& k4 o! h6 w* }& g+ {8 x  哈哈!!:=)是不是很精彩!!

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