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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
9 T$ y1 d; T1 q4 Q, L  a* I' R, _* G8 @$ Z  v1 s" v! ]

1 O* {3 n$ u- Y; b- R! D. _7 p方法一:$ h$ j  n2 x, w6 P4 U

9 @+ w/ ]1 c% ]) ~8 q/ _) ^* Z6 b7 D( }& j$ j- G# G' i% i, ^
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
+ R* e4 C+ _9 A) Y1 y
  j0 P8 G* y. L; @; l7 ^<HTML>! x9 Q. U- s* K% v) q5 X
<SCRIPT LANGUAGE="javascript">
- X) w6 C8 k! r( T' x. T; j2 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"
' N$ p2 q8 {8 U+ e2 L- J9 fvar NewWords;/ }$ }9 a7 [/ }5 N
NewWords = unescape(Words);
' G4 s% W# ]% y- Mdocument.write(NewWords)" j- ?- k  C7 g1 @" m6 o9 c
</SCRIPT>
1 @2 }9 f3 g. y  h9 a1 @* _7 n<BODY>
" F1 c5 J( n/ P1 s- N</BODY>( R; M- N, A0 L3 I
</HTML>  N9 p' L; I/ @, {3 C7 r+ Z  O

2 P( E" S4 r7 Z% e2 ^  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
- O* F+ I8 t" P2 K  Q- `2 @
6 o( @% j. V+ @1 \0 V" z8 i# t0 w  S<HTML><SCRIPT LANGUAGE="javascript">4 O: Z/ D/ x1 U& U  j
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"
: t' d1 I9 p7 O$ K. ?var NewWords;/ v1 c9 v# {! n0 Z: |7 L" G
NewWords = unescape(Words);- }2 s" {4 |( Z
NewWords=NewWords.toString();/ W4 }  e; h5 K8 ^0 X0 d# Y
function password(){
: i" a  w3 l) J: }6 \. l& w) ddocument.pw.txtpw.value=NewWords;
9 ]8 |9 B: D- s: @4 R+ V/ \! x6 Z; l}+ O, [1 p- Z0 d1 q( L- o9 H* ^
</SCRIPT>
+ w, }+ [# D3 Y; l7 I<BODY>5 s& q& u* N' f% w# U3 m8 H
<form name=pw>
, D7 W" B# F+ D6 j" ]! K<input type=button onclick="password()" value="解密">
3 r' [3 C: v; f& H# H<br>3 J% s/ l# c. b+ r
<textarea name="txtpw" cols="100" rows="100"></textarea>0 P4 T/ o3 }& o; X5 ]% L
</form>
7 F: ]. @5 X) H</BODY>
; f3 F) [4 O- M</HTML>
8 H4 x6 u; C# P6 @; |/ R2 g. x( p  _
方法二:
8 r9 H: I2 S% I
% W; R7 S3 `: R. _) F' b; u: W' o$ s$ \  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
$ Q0 c# C' e$ B8 s- q, p% J+ O7 V) u6 C5 Z
<html><head><script>! o1 W+ ?. j8 r' 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 ); }- ?# ^/ e" B1 Z- s+ H0 j
var sJsCmds ="" +$ D$ W6 f* H- ~
"?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" +
0 t' l) H3 \) C! s  z"";
$ x0 B: ?: f4 @8 X3 Y9 Z1 qvar s= Carbosoft( sJsCmds);" q, ?" P5 f& t8 }2 y% t
document.write (s);0 S$ P/ k+ n8 P( i. i- Q" C
</script>
5 f8 e! E+ A& T</head><body></body></html>
6 a: }' z' P7 v8 x: t3 H+ Y6 T
- H, X. U3 ?& c) Q, [  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:' F3 C7 ]- v+ t! g6 T
) X; n0 i1 Q4 A# w; S
<script>6 N" n% c' h0 t+ M
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 ); }
/ ^! F2 X$ \  S+ U2 y: Avar sJsCmds ="" +3 l2 [6 X- L! R0 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" +
- a4 R/ ?, q8 D4 ]. x"";
+ P/ h4 d( A# Mvar s= Carbosoft( sJsCmds);$ ^) @* ]  a) ^2 K9 t3 ?1 b$ D) c& y
</script>
/ v' s, g- r/ x6 S0 M; a- _* R, z<form name=qq>
$ G* {, u- ]2 [+ `, Q  p. \<textarea name=ww cols=100 rows=10></textarea>
, C; b5 S2 e, l6 h! F; z  m<input onclick='ww.value=s' type=button value="解密">
8 P7 q6 m; ^, {  ?; B- _2 z+ y" G) _</form>8 r6 X. _% j) ^) \2 X& N- v

; R' }1 K+ I1 C+ p6 N* K8 S
9 T1 K+ W* ]  l2 U; E; ]方法三:8 h3 d# _$ h1 }% x& w" z

- R  C3 B  T7 T2 G6 R5 }9 K  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
) H( M# g, l0 `" Q; j2 E/ l  J0 F* A
<HTML>
$ ~7 p- m, W' _1 n: D; H<BODY>
; \8 P4 t4 e* [8 U) {6 ?<SCRIPT LANGUAGE="javascript">4 s- M; j; V% ], A: F8 s
function Decode() {
* h7 z4 _$ E) S: O0 Xd("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;}! g& n3 m5 N- ^; p( g" D1 l
</SCRIPT>/ G2 _2 ~6 u2 V. ^) ~& ~: s$ y6 J6 l
<SCRIPT LANGUAGE="javascript">& T' h9 Y1 a) p( N: v
function d (enc) {document.write(codeIt(key,enc));}
2 [& o( q* o+ O* p; ^; 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;}" L6 \( b/ u5 R6 _4 V; ]8 P3 G3 `
</SCRIPT>
8 i& C. r" G; ]/ O, n<SCRIPT LANGUAGE="javascript">& j6 _. e6 _5 o" S9 G6 x7 D
Decode();
5 F, S) m, x7 H. m+ E$ L</SCRIPT>
3 }" `' J" g8 P. e! D</BODY>7 s2 z+ q8 e' A) o+ g( F- d
</HTML>$ d  }4 k' T! w4 F. Q

9 T/ E$ t; w( v, o1 T9 C: z  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:: ^% g4 o9 z* j" J( Y. y
" ?) H3 }5 C# C! v
<HTML>
' G+ f4 n* ^2 L2 o! K1 `* d7 s<BODY>! }6 F. q5 x! _; p# R
<SCRIPT LANGUAGE="javascript">
! h& q( {6 ]! _' m7 e7 V0 x) x9 }function Decode() {/ K* p1 b3 G3 R! y3 V3 |
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;}2 Z; h* s6 T7 A& A
</SCRIPT>% p/ @! Z6 f- R6 ~, j; r8 H4 I
<SCRIPT LANGUAGE="javascript">
9 r% z! B) t* R* \2 Q' R6 vfunction d (enc) {alert(codeIt(key,enc));}
* v+ N' V: f. o* Rvar 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;}
& t- Z% `: N( A8 S6 d</SCRIPT>
) |, P" }' \8 g( x; L, z8 u/ }<SCRIPT LANGUAGE="javascript">, [4 D2 \& r; ?2 F% Q% r& b, O
Decode();7 W8 b4 K5 d  `" S9 j% c/ b: W' Y1 r
</SCRIPT>2 |- \- m2 }6 T% P& A. F/ b
</BODY>
* \8 S+ i; E% g  O, H( ?5 A/ V</HTML>: W4 u6 ^; A& o( j; e
6 V5 x, m: L$ Y8 s4 U& b
  哈哈!!:=)是不是很精彩!!

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