返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!. E- ~8 m2 W0 a" ^& t$ d3 ?* z  G
" b9 q3 i* |0 r8 m3 |

2 V* q4 w/ |, u7 b方法一:
" v) _0 p- {. J  M4 B, m) m
: Q; {$ ~/ I; [7 ^6 U" k. c+ h  ]& T
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:2 Q; Y" f, |& _" a, P

# X, B' R& m) h8 T% c# H, N<HTML>
. z5 Z0 _+ Y+ S<SCRIPT LANGUAGE="javascript">4 k; t' x: Q8 D+ V- u" I4 X2 l
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"( v* Y0 x. Z1 ?
var NewWords;0 s$ B" c* p. Q$ R+ |/ F2 M
NewWords = unescape(Words);
0 ]% x# K$ {. I( P% R% ndocument.write(NewWords)- J" A/ B: Y) s& h
</SCRIPT>
3 A; M0 @- k# s<BODY>
- d; T5 b$ p( J. P7 u6 y, e</BODY>" z8 x  [. ?) h0 V+ }* ~3 W
</HTML>
7 F4 |$ ~6 y; ~5 @, }9 b; U8 R' A) p  l/ d" T! {- c: J( o5 L( i
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:7 @- x+ N, O; R% C
. m% x6 v  k& M# N# ?! q0 U
<HTML><SCRIPT LANGUAGE="javascript">) w. U$ q8 S% L0 J! z0 I* a& {
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"& W) s$ _% g; y
var NewWords;
4 C; X$ L! S' S6 O: N( b. x+ RNewWords = unescape(Words);* P# F2 s. G# w" r  u1 ]
NewWords=NewWords.toString();
0 B8 [9 b( [& t# ^# \function password(){
4 Q3 f! k! S4 K8 i$ Kdocument.pw.txtpw.value=NewWords;
9 Y5 }' Q& J6 }. o  ]0 m) t}3 n5 f7 P  i8 j9 w, n
</SCRIPT>( w5 r+ n( Q1 n( m* _
<BODY>
; K6 e7 |+ I0 Z+ @& J* J  {<form name=pw>5 A$ ?- d, k. {, M# e
<input type=button onclick="password()" value="解密">% A; n& h# Y# o( Q
<br>
2 @% F9 p% a4 x  X" Z- F0 \<textarea name="txtpw" cols="100" rows="100"></textarea>
* o- X6 c1 h0 D</form>
7 z- t; G8 G1 W/ K2 }- k</BODY>
0 P- ~. ?! c& s2 m( L! b% ]/ s</HTML>* e! z- U$ D$ z2 d/ Y) G  v. h% Y1 z
7 |% N' W3 k% R+ [9 ~
方法二:( W5 Q9 l4 W6 n: U# D8 ~
) H- s4 H/ o4 I/ x
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:. S. \9 g3 Q& i( [) ^0 P9 ?

2 }& {5 Z# w( T# F& V5 H6 d<html><head><script>/ o1 s+ p- T) f4 N3 M  F) K2 ^, D/ 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 ); }
0 g5 ?9 e- X  W9 g7 L/ F2 avar sJsCmds ="" +
# [+ i% w5 x, n1 h: b1 R"?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" +$ R0 S: d  a7 W) L+ I
"";5 x+ ]1 K3 U, v$ m! M  b
var s= Carbosoft( sJsCmds);2 h) N% R  A) P; ~4 x6 a$ z; P. k* `
document.write (s);
3 O: G* S  b7 Y6 J. k4 g</script>
  P" ~" A( O3 P' N  g, s' n  \</head><body></body></html>
. ^# b0 C( F4 u: d8 ~* J5 o: I7 v$ c! _3 h' i% v$ r
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
0 x, ^: ?+ Q2 B! N* h, V
7 l* M; H+ T4 r- a9 D9 n& q<script>, P" z' l6 O, [* i% w) B  C
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 ); }
/ k+ h: J2 m7 l7 cvar sJsCmds ="" +
4 N$ |$ D( t5 |2 |- u# C2 w"?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" +
& d6 e) Q; p& y/ v+ F"";! u3 O5 P: x& A2 E# Q' t
var s= Carbosoft( sJsCmds);8 C; y, {1 V( t
</script>+ ], Y+ h3 Y2 s8 f1 e  f1 r5 v1 a  ?
<form name=qq># \3 V8 X3 R6 ?# |& e5 e' T  m
<textarea name=ww cols=100 rows=10></textarea>
/ E) L: v' f4 v& O; K; n& F8 Z<input onclick='ww.value=s' type=button value="解密">
1 w" L$ j8 U1 g+ |8 Z+ b6 J8 ]( A</form>6 ]$ V. R) W! ]( y  V

1 O2 s! U) X! v2 w+ U, r4 _3 e9 n& H) y( F
方法三:
- ~4 A& g. P( G! I
' u+ w: V0 |9 h( P  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:+ j/ I2 q4 Y* w* X$ X

/ }# \: A+ {, G% B% ^! p<HTML>+ r: n6 a/ [* W7 ?
<BODY>
# F( K) d6 }. K2 {# j7 B' v/ J<SCRIPT LANGUAGE="javascript">9 f% p9 U: F& I& p3 ?" X& e) q
function Decode() {
: }5 F5 ~* A) P2 b& ?9 ld("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;}
* {/ \$ s# J- ]5 T0 _" c" y</SCRIPT>
1 J7 _; }+ k- [( V. S' \<SCRIPT LANGUAGE="javascript">7 ~) Q9 t) A  |* {+ n' x
function d (enc) {document.write(codeIt(key,enc));}0 H0 U, N; m2 i2 W0 s
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) T: L: Y7 U2 l4 ?</SCRIPT>
8 @7 O9 Y. g7 V* a8 r6 p: n<SCRIPT LANGUAGE="javascript">) U) s! ?  i- L; k
Decode();
- W& j9 [; l  {' J! z</SCRIPT>
' t  e9 Y7 {% c1 a6 c) Q9 E</BODY>* ^- Q% L: q* z
</HTML>
1 t- [3 {/ f: \( _- l$ y4 H' o4 H) o
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:$ e! q3 [1 N' ?# B8 p
3 r8 F8 i8 O( x1 e
<HTML>. ?- n" T2 x* s; [) @2 W4 q
<BODY>8 s0 l. o) _; P4 h/ A3 q3 ~1 L6 l) U
<SCRIPT LANGUAGE="javascript">  ]3 k" h9 Q- t- N  H$ V
function Decode() {: n& C  r7 y& p( H% r/ [( e
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;}/ d: S, V* \% u8 S
</SCRIPT>
. p" k# ]  J7 @' P7 G* z<SCRIPT LANGUAGE="javascript">
0 I7 v& b/ D" I+ T& J  ]function d (enc) {alert(codeIt(key,enc));}' B  c' \" S' X4 K' g* N
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;}; z( E2 x2 ~7 }/ v* x
</SCRIPT>; O% w" R& H" H* F2 o. C. h
<SCRIPT LANGUAGE="javascript">) ^$ O5 |( ?) e. [9 W1 }
Decode();
) X% ~; Q; s0 X: _/ a+ V+ L0 _# C</SCRIPT>
- e* Y1 R/ u6 g: J</BODY>
; u8 X+ M: C. x; c9 o</HTML>9 v% g% n# ?8 ?1 o9 a7 t6 D

6 K* Y! i2 |$ R( U6 u* o  哈哈!!:=)是不是很精彩!!

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