返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
5 J6 g8 R- A$ ~& I1 Y* C! Q& l+ x; Z$ N" ]; r2 Q  E8 V; |

: m6 L# C8 t/ X9 o% b/ A9 |: i方法一:
. W& n( ^1 R3 Z, }( @# e
8 j/ v8 i1 M3 ~6 @) F; _. }- R2 ?0 s2 P6 i" a
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
, P2 S/ {- g! f0 m$ w9 n; x7 w! W- O$ [0 \5 J9 G1 D
<HTML>$ `1 Z/ R* y& ?' o" A
<SCRIPT LANGUAGE="javascript">, V2 E) h' d" c2 W
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". }8 t# y* z! o; d
var NewWords;0 P% f* }* b( e3 G5 X& W/ ^4 m
NewWords = unescape(Words);
9 t* j7 a  u! M& ~0 Gdocument.write(NewWords)
1 s. Y' Q; L' Q7 q8 I# \0 O. c- m</SCRIPT>3 m& ?  C3 T4 J* N
<BODY>
, m8 B' @% O- r4 D1 [6 k) V</BODY>
- F: X5 ]$ e9 j8 ?, X9 p3 ?1 c</HTML>
& n8 B% ~# {% D% ~0 w1 D  [- ?1 G9 S' x0 n4 h
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
- m  O# X1 E! E3 h6 z8 P$ ~
1 a9 ^: r# n4 Q* b<HTML><SCRIPT LANGUAGE="javascript">; k# U  K' n  Y  ^
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"3 E8 Z% \0 d8 h* c# |! n
var NewWords;
, m9 Z% c/ ]' \) y7 ?NewWords = unescape(Words);: U/ R2 d, f7 E! Z! Q. o
NewWords=NewWords.toString();* G. f9 X% F4 T
function password(){
! [! K! w) h; d2 y) [  J4 X$ hdocument.pw.txtpw.value=NewWords;
; l1 @  Y% ]' Q' I7 s' w9 Z' S- d}
! n' _6 \- a4 ]6 l+ x</SCRIPT>2 w* v  I, ?8 \& u1 J1 \' y
<BODY>! l+ A- B1 E* Z1 `- O
<form name=pw>) [8 L( y5 ]& y+ R0 n% T7 ]
<input type=button onclick="password()" value="解密">
* j% f' `% F) p) v- g<br>: W; R# B& ~) }0 \7 [, }2 U
<textarea name="txtpw" cols="100" rows="100"></textarea>
% G9 V8 w! U. j6 m</form>; h  _6 e( Y! {, Y0 S
</BODY>0 Q( w/ F1 x' X6 R3 H8 ]
</HTML>8 T; n* n1 c) Y( B) a+ [, g) E6 ^- G

4 |/ q8 e0 ^! H( a5 N方法二:' O+ y8 H3 W4 v" H" Q* \' L: j* F! N

' q! x; N8 ?: z& u3 e# v( Q  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:1 E3 `3 q. i8 n* y2 }

7 }  ]8 B0 l$ c6 ]7 s. W6 }& D<html><head><script>
' v, y# ?+ f# K, s( nfunction 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 x& k0 N2 l7 O1 @& A: Ovar sJsCmds ="" +
9 j% A. s0 l0 K( Z2 b/ O/ x8 Q"?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" +
9 V. w4 W  p- _1 i" v5 Y! ?7 L"";
  Q4 \3 H7 T% I9 M& n% wvar s= Carbosoft( sJsCmds);
' x# @4 X9 E# N: v3 xdocument.write (s);
8 ^: E6 b2 B; C</script>8 g) q3 j, e3 |6 U7 J% ?
</head><body></body></html>: @" U( S, m1 N- K$ H
; h; P. p8 W8 b! |2 V
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
, p4 D, u/ S- |
" c) y! \# Z2 ]3 \3 ^<script>) u. p4 U& M; V9 _. P; h( 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 ); }
! g3 D; s) q+ F0 ?3 avar sJsCmds ="" +
) g4 g, h5 t% k( \) U/ j"?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# w  x2 S( z" `/ x"";
$ P! P' \& K/ v3 W- O+ nvar s= Carbosoft( sJsCmds);
( y3 p# `5 `% }. ?</script>' a: c% M2 r! o: P
<form name=qq>) a( b. m, p7 O% l# I4 g$ `
<textarea name=ww cols=100 rows=10></textarea>9 J4 `$ T  U% B3 l
<input onclick='ww.value=s' type=button value="解密">
; }: b, G& k9 @' c, J</form>9 B* k  d0 n* k
2 a% _: ~* I# w& a# s

( |9 p. o7 j. c0 ~) C" k( S% [方法三:' k$ [  z( L& O: z3 b

" ?2 ~9 G$ S9 p: u0 P! `; T! b6 k  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
! e; ^' t* I( |6 L- @+ e2 F. t2 M: F
<HTML>% Q3 S" S, T6 w9 I' }0 j
<BODY>
+ |3 k/ E+ K8 x5 A9 }$ H, f4 b3 n<SCRIPT LANGUAGE="javascript">  ~. X, a6 W% E% R# I) `
function Decode() {5 o& i# z; m/ s2 {
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;}' y3 F3 f% e3 x: A$ A' _2 R! [2 D  O
</SCRIPT>( y3 ?% y/ R# j  u
<SCRIPT LANGUAGE="javascript">
; x9 L1 S5 J* X8 I3 ~; F7 Sfunction d (enc) {document.write(codeIt(key,enc));}
& h4 Y6 X: b+ H3 Wvar 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  R4 c& c  q7 h: N. e4 J
</SCRIPT>) E/ B. d6 \' l$ m7 u( \
<SCRIPT LANGUAGE="javascript">
' Z* R+ [+ j' IDecode();
! ~: `6 Y* \3 d% @# A</SCRIPT>
- A. ~& V% @$ C' W3 c5 v</BODY>
# F# P) N' F1 a2 Y1 d+ d</HTML>, g5 O# Q3 Q; z7 }3 {
7 X; \0 s9 J' l! a( `
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
+ t& ^1 c8 Y8 z8 A
; D- S2 m6 u! o) W  E<HTML>
: V( i$ C5 [7 O<BODY>  t" J9 J1 Z; G6 m- M9 [5 d" M
<SCRIPT LANGUAGE="javascript">
9 [1 e2 @( l$ Q2 a1 Nfunction Decode() {7 h% D1 |4 G1 x2 P6 [
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;}
# K9 Z, S5 F0 p8 {+ S1 S( f9 z$ I</SCRIPT>+ O0 R! g# K2 @) J+ d+ i' a' Z
<SCRIPT LANGUAGE="javascript">
4 `2 r+ K9 [. r' L/ J' b& xfunction d (enc) {alert(codeIt(key,enc));}
' j" f6 b' y7 j' |; X# d% ?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;}
& C# ?4 u3 L1 z! b! L</SCRIPT>9 ]4 S0 K0 `" t+ E& R
<SCRIPT LANGUAGE="javascript">9 [* Y& Y9 l, M2 \9 B- I1 _6 f; y$ _
Decode();" g- \. T" J/ d1 f& ]& p
</SCRIPT>
) z/ K  c+ r" V; d</BODY>' u8 X2 Y4 c% h2 ~6 r, _) I
</HTML>
9 Y5 K4 w. E& [. c9 M8 X5 b6 r  l8 Z+ N8 q: L3 ?; S; i, b: q  Z
  哈哈!!:=)是不是很精彩!!

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