返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
- E$ W6 k, a& B) ?3 ?9 \- T) A+ Q3 G7 m" j: P7 J
0 f8 [9 e4 {0 |6 V, Y8 E, y/ u
方法一:
5 I1 V2 Q# P# Z( x! ^) [9 o+ g6 p8 F4 D7 q
3 V5 s. G$ c9 i' J* H5 Y1 T
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:0 P7 j$ M9 @, @8 r0 q+ T, J# y! E
9 g9 R. F) z, a- Z
<HTML>6 R* n9 Z" Z5 g8 @7 U  i9 M. h
<SCRIPT LANGUAGE="javascript">2 v+ S! L' r6 q- s/ Z, z1 P& 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"
. r) Q* O( T" O2 xvar NewWords;
8 n+ M* @: Y! ?! P* oNewWords = unescape(Words);! F) @* W$ @4 N! U* L
document.write(NewWords)% q- P8 |) t* `0 u: V( o2 [; d
</SCRIPT>
. e* I; s# b* e* t& B& }<BODY>
( Q+ b7 n( Z& N( N3 G</BODY>: P' \: c% I- X* M" v) z4 C4 q" a
</HTML>  z3 `4 l: B& R, u

5 [! T: C' A% }+ D% i1 M( k  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:0 r8 L4 x) T! {. g
) J$ ?# }' K1 ~5 h# L% k+ Q. o" a6 }
<HTML><SCRIPT LANGUAGE="javascript">
# a* R+ @2 i" W7 b% Vvar 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"! o1 A- U; T6 J" L, i. Z5 ^- g$ M4 O
var NewWords;
7 x  [8 Y  _; {7 @4 f( y+ VNewWords = unescape(Words);
( W, f* _+ S% M% ~( r7 ^& BNewWords=NewWords.toString();
+ q& H4 F4 c" k( E& [function password(){) I! q% n, I5 N- ~2 H: W8 U
document.pw.txtpw.value=NewWords;: e. ~5 w8 I$ |; q9 r  [+ }( W
}8 M% F" a. M' h6 Q3 ]6 I, T2 D* `
</SCRIPT>
+ b. P8 C! S" ?( G4 }<BODY>" M$ [+ B( y3 V$ W8 m+ b8 ?8 ?- J
<form name=pw>
! v8 ^& @$ V* z' P% O- o( `<input type=button onclick="password()" value="解密">$ u6 W0 U0 ]$ F0 J
<br>
) \4 ?* f1 e; E& t<textarea name="txtpw" cols="100" rows="100"></textarea>
2 M' n' l% w' h& l" A</form>5 b% h2 l# R! I# P* Y7 n5 X2 ]
</BODY>
% m1 E7 S" T  q</HTML>' i& ]3 ]; M( {2 X2 H0 h) X

% ^4 R( [1 `) a9 Q方法二:
: Y. e& W. T1 i5 X" a" l/ I9 q+ F
) s- Z0 f! s9 Q+ P  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:& g! M. D. E0 A

" I# }0 u4 R$ i5 T% B8 d( U5 v<html><head><script>
; }) j$ N( W7 p% r5 p; C4 Ffunction 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$ t! a, ^9 Ivar sJsCmds ="" +6 N% v4 V# }% t+ s" I
"?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" +2 r6 a8 U' g; w7 n+ e' d# G5 K
"";
( C8 A$ s9 t* s) P" G8 Pvar s= Carbosoft( sJsCmds);" Z- }1 y+ ?, J4 `
document.write (s);
' H( U% K. q6 g* q. }</script>) K% M- I2 n8 S  ^4 B0 q$ w
</head><body></body></html>
- u$ g, b/ y$ d' N7 _. E, d) Y3 G/ J- o3 t* A- h! o6 n
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
. K2 l5 O# f1 @7 W- i, ]
1 e$ O; H( F  A) z1 r<script>
1 q; d. e/ g  E! Dfunction 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 ); }
( m8 R  F; U* Y6 R6 gvar sJsCmds ="" +
+ x* d9 t! S1 H3 I' Y"?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" +1 }/ X& a8 p; G8 w$ v# b
"";  ~* [% h& Z% i
var s= Carbosoft( sJsCmds);
9 `8 G/ E5 a  s) v& I' r</script>
4 e: E' ^% y. D$ F3 G, W- B<form name=qq>
! Q2 b, z1 C' o<textarea name=ww cols=100 rows=10></textarea>
* z1 y4 R" _( E+ o% c<input onclick='ww.value=s' type=button value="解密"># W  i. |4 q4 q2 @$ m! {: \
</form>
; P6 o7 k# q; G  f# w0 H0 u$ i) [5 B8 J: n" i- b0 Q

1 j. H$ `$ y, O* B" R( R方法三:
% K4 W3 B# f' a, n: m# b5 i: c8 E3 v: N  |
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:0 n4 b% w# z- B5 Z
) K9 [& C' L/ O! H/ K
<HTML>
! I0 X  o3 G# ^<BODY>" w- |$ y3 [6 ~. o) {% \
<SCRIPT LANGUAGE="javascript">
- e# S* ~' W; |2 r6 Z  E9 ifunction Decode() {
) ]& N% B! J: O$ t) ~1 Z0 \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;}$ O! C. g% S, F, _
</SCRIPT>
% v* ?0 p- J4 t+ P& T7 z<SCRIPT LANGUAGE="javascript">
- U# k/ S3 K+ d" ifunction d (enc) {document.write(codeIt(key,enc));}
5 f1 ~9 q' \% xvar 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;}5 C: F, \* r- V  O0 T- G( E
</SCRIPT>7 w( D) _' g& b' N
<SCRIPT LANGUAGE="javascript">
/ g  y2 S1 q9 p3 }+ DDecode();
. y" Z. K  i4 ~# c! c</SCRIPT>
7 Y3 T1 h8 f0 S</BODY>7 T0 s1 Y. g3 E
</HTML># Z' a& Y9 H/ L1 {8 z. y

, C0 o" T! p4 z/ i( X0 u4 j  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:, w5 d4 r9 c* z0 @# I
. {) W# ]& k0 A) d* D: s
<HTML>
! T4 Q+ q7 s( L<BODY>+ c2 o9 a- L6 z7 c! @
<SCRIPT LANGUAGE="javascript">
0 F% g2 n1 g7 P0 ^function Decode() {
* r9 _, U& J) l, R4 O; Wd("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;}) F1 q1 _. y4 [8 {) a5 N0 n6 F
</SCRIPT>
8 _* N7 j7 A9 e, p# {1 {. x<SCRIPT LANGUAGE="javascript">4 B5 V+ Z7 X! }1 V: Q4 Q# c
function d (enc) {alert(codeIt(key,enc));}
" S& p+ y) B( T5 ?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;}
8 E3 ]5 z. N  P# u5 c</SCRIPT>  ~6 \# Y* P) v& Z, j
<SCRIPT LANGUAGE="javascript">& g- z( y% B3 p$ H5 M( ?
Decode();
( g) ~$ e% j: f( J+ g6 Y</SCRIPT>
: ?2 m# N1 v' h! q0 e: R</BODY>
- ~: q0 k! j+ V: U* s</HTML>& p0 D# x$ C1 |5 H0 i$ J% ?

/ W0 E4 K$ @1 P2 m  哈哈!!:=)是不是很精彩!!

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