获得本站免费赞助空间请点这里
返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!" M6 I; c, D+ \+ W& O$ p2 w8 j

& c) F! j* ~5 f3 z) d( e; ?7 m; ]4 e) ?1 H, l$ Z2 i3 }
方法一:
+ K) ]6 e) |& r" k& E/ |, y7 k
5 r( z8 X( @- f# y+ u0 _
2 X8 S( _7 f- b6 \6 J  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
: K" J8 K# ^5 ]' x
. X  z: J# }' {! e! c<HTML>
' h/ i; e  n( A% U4 c! {7 z<SCRIPT LANGUAGE="javascript">
, R- A: _$ T6 Y! [- T. K8 ^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 Q# ^. p' ]( z% t' u
var NewWords;0 d/ |5 z( y, W; I/ w
NewWords = unescape(Words);
4 Q) l" o+ k- _7 G5 V$ p, ldocument.write(NewWords)
# j, H3 s  J' |/ ~5 K, [</SCRIPT>
) K+ u9 u4 K( _) o8 g<BODY>
  S' [) h+ i) u6 W</BODY>4 k/ a! ?% w" H( G
</HTML>  S. A+ e2 K8 c" P
3 x1 o6 [/ H1 s9 X' b
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:2 V' b* i5 `# J, D6 b" ]4 I

" L! P5 B0 Y: J1 {9 Z<HTML><SCRIPT LANGUAGE="javascript">! l8 f  Q4 E, d: D6 o+ g/ k
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"
7 d. _2 D( P, E5 t7 m! U  \var NewWords;
  C! u% t+ E# k. y! ZNewWords = unescape(Words);
5 a4 O  }, T3 ]% Z8 L8 |. d+ rNewWords=NewWords.toString();: ~) G* C+ y9 \
function password(){
: |! @# }" y' g$ a3 B4 tdocument.pw.txtpw.value=NewWords;$ E+ E" f: x6 [# H
}& H* Z. ?: K% B, X# m: t  J1 ]7 q1 K
</SCRIPT>. n  [, w4 p7 f* Y4 V& q: l/ F
<BODY>
6 y! R/ \" _8 e* g/ T<form name=pw>
. s4 T* j8 E3 L: \<input type=button onclick="password()" value="解密">
8 E. ?3 h6 P8 D) ]' K, |<br>
8 k% {& U5 O% [3 Z5 {0 z<textarea name="txtpw" cols="100" rows="100"></textarea>
% {, o6 O# Y8 k8 j- q1 p( q0 T</form>
4 n$ `5 m+ I% B; n9 H' z& o8 s</BODY>
$ b  B7 ~. G4 s& g2 Y</HTML>4 E$ p- V% z7 h% V" o. ]& A6 i  j1 I1 D

; [4 T/ j) v$ u" G4 F方法二:: p# w5 u3 S3 M/ M  |- ?
- m( {4 ]( q: E2 U- C
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
9 {8 n3 `6 K' m6 y& r' F% f2 K4 ]4 P6 H# B: {
<html><head><script>9 z" g6 m- G4 ^5 O+ Y3 ?
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 ); }( A% ~' |: X7 K% X8 a. U
var sJsCmds ="" +
( F( M' j1 [3 a9 \! Z( K"?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" ++ A( z, S3 V7 C5 z+ v5 _
"";$ q& G, k' R" d' x2 N4 |
var s= Carbosoft( sJsCmds);
% r2 h  P' F* F( @4 F5 v; t' Cdocument.write (s);
6 m/ a8 F3 W4 h. w</script>
* e. j0 p( A5 L& s</head><body></body></html>$ F* T! U: c! _$ V
, s; U4 u1 P0 t
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:+ o5 e# O0 P3 f! J# h  {

7 s' `) Q+ N! X2 s! q9 _$ s$ h<script>
1 Y. O) L& o/ q; C0 bfunction 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 ); }, s; z9 E+ T; _7 g0 }$ [
var sJsCmds ="" +
  z* z) B. b( T* 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" +
/ E8 `0 f; a9 F) m"";
/ A- N; r$ {4 v# k/ Svar s= Carbosoft( sJsCmds);
* P; x: u" T% r5 s2 i; P. s: Y</script>- p3 P) A; {. N) [7 i
<form name=qq>3 m9 M# q  u' K: k1 D. l$ `
<textarea name=ww cols=100 rows=10></textarea>
' L- }! M% p$ ?- B4 f) W<input onclick='ww.value=s' type=button value="解密">
8 N% c! r. }( Q& g( }- p! `( P</form>; ]+ Q; F+ @: J# j  P) N' r8 [3 H# \
2 ~8 L! h+ t) {  K; l
% u6 w+ G0 e! K
方法三:3 _: e0 h2 C8 H

& c& N% v/ q/ q* h% J' N  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
- U3 ^7 h+ t8 ~5 x
$ i. Q& r$ q8 R) u" \  A! N<HTML>; F  }) @& G% Y/ r9 j6 f
<BODY>
. o5 i/ {& J+ _) @1 b+ O! ^<SCRIPT LANGUAGE="javascript">, I: p5 T5 l5 Q0 Q+ r% I/ k
function Decode() {6 d0 j! n! F* `" M
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;}
- g3 K. K0 k, Q- F</SCRIPT>) A5 X$ ?8 R3 h! P1 V
<SCRIPT LANGUAGE="javascript">
8 u! y$ n: L* T1 Hfunction d (enc) {document.write(codeIt(key,enc));}
5 D* S4 m1 O% `7 K: evar 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* ^9 ~8 D, y4 F
</SCRIPT>
8 k3 K' }: D+ z* C0 ~- j2 s<SCRIPT LANGUAGE="javascript">1 r/ [% L/ R) D! Y
Decode();
( I  M5 ]% Z* R5 L* r% K</SCRIPT>6 z/ i# Q, m  v- X' l  X1 O, r
</BODY>
7 L+ _# J$ c2 y1 Z0 L) Z</HTML>
( [0 R& a; ]0 ?0 T- P
# y2 R6 E5 F! j( F  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:; O' O6 u; B: g$ u/ L
5 D8 I& `3 ~0 J7 m) E$ \
<HTML>
% N! T8 a6 J: ]/ ~; L& J0 K' t2 c<BODY>
' K" Q4 Y% F2 o6 l2 w1 X! p<SCRIPT LANGUAGE="javascript">
* [3 O# o! t# Zfunction Decode() {
2 Y+ Z7 K" [! H6 o; U# y0 j/ i, @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;}! w5 z1 ^( T1 f) U4 {9 ]
</SCRIPT>
. j& {, j  l; R( C<SCRIPT LANGUAGE="javascript">) d1 Q1 u' n, @5 E4 \; J* B+ d$ O/ m
function d (enc) {alert(codeIt(key,enc));}
% Y4 h- w  Y( p6 P- ?: D* 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 e+ U1 ?" |. x' F
</SCRIPT>
9 b" F2 C' D( Z$ }9 b$ _3 m5 b<SCRIPT LANGUAGE="javascript">
4 S  l3 \7 l2 B4 C$ SDecode();" X: Q/ v2 K1 g  X
</SCRIPT>5 @- C8 N- R1 {: q; X6 N6 [' _2 J6 C
</BODY>
2 a# I% x  A6 i# ^4 T</HTML>
: a9 D* F+ O/ `8 {- n! K* a
4 v; p( h) ], L9 S  哈哈!!:=)是不是很精彩!!

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