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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!. W2 W, P- A+ z. m1 f3 v* C8 D

7 z6 R9 @5 q7 J! [* ?6 e, N4 a5 J7 b; q8 |
方法一:
3 N- }5 s0 m  c+ u+ k6 Q6 M& G1 d  A5 T% E$ Z4 t$ ?& V% f
+ B) A5 f- W+ Y' C( L3 J
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:  F9 x2 Z7 p6 u7 d  l3 Z

/ C, K4 I6 Y/ w4 z8 a2 z. `<HTML>
, {  b3 }* M* i. Z' g$ x; [<SCRIPT LANGUAGE="javascript">
! S, u4 V* J3 `$ ~6 C# M- k& u- u  mvar 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 G$ r3 R3 s! X/ E. h! E: g. Bvar NewWords;/ s% Q4 ~( h$ s! x# C/ D
NewWords = unescape(Words);
- P4 D' P* a9 P8 D7 r/ c3 Y2 L3 idocument.write(NewWords), E% E5 Q' z0 C5 {
</SCRIPT>/ x6 f8 d0 V+ d8 c  N" i- [
<BODY>
! q5 ]$ e; l9 ~! F7 u</BODY>4 v/ f" t9 r: {
</HTML>5 |" G( }  F( L% M4 L

1 K: z4 Q2 ~: a1 }; b: S' c; G  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
1 I& `. |* n1 ~" l
- b% \" _. Q* B3 G5 R5 s/ w7 b<HTML><SCRIPT LANGUAGE="javascript">
, i& H9 N' A0 S- Qvar 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 s, [8 e8 L/ B/ o0 h" P5 {var NewWords;
" ~  P& |( {1 Z! @NewWords = unescape(Words);4 F1 i& T, s$ D5 _6 z4 r2 Z
NewWords=NewWords.toString();
1 v. b- ~* ~6 U, D2 h) \function password(){% t: o, m' f" o7 S8 O: m7 x4 O/ X
document.pw.txtpw.value=NewWords;
' \/ \. K  u( Q$ x2 ]5 x}: h  w- p0 V) M$ Q2 Z3 B
</SCRIPT>
! s, f# U: b( H" g, _8 k<BODY>& U. q* m) Y6 \4 B
<form name=pw>
9 `. x7 h1 n% s- W<input type=button onclick="password()" value="解密">
: A4 p* M1 s! s3 y( g  \3 m<br>4 y3 X* ^% j# i* D9 G- F
<textarea name="txtpw" cols="100" rows="100"></textarea>
8 z' Q$ H4 W6 C$ a5 e</form>3 _# D: Z: m. I- M& O
</BODY>, o1 f" ~6 Z: ~, ~
</HTML>7 E6 o* X" q( Q9 T- F: V

7 }& E# E5 R! }4 y4 L方法二:+ E5 x0 L1 U$ k6 ]
: b! C! V8 [( n* N
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
5 ?0 j7 ~& }' I' q# k+ L0 S! M' _% p. X" Y' k
<html><head><script>9 E( ?( X& {  f) P& J: j
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 ); }: T0 _1 {1 z1 @6 A  P- a
var sJsCmds ="" +- B3 Z" _  S6 M( g1 J6 X
"?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" +5 g5 P6 J$ J. w4 U4 r+ p
"";
; u6 _1 h4 p. x& Yvar s= Carbosoft( sJsCmds);
: R: @5 [8 O+ v6 l9 Z, Tdocument.write (s);5 d2 d) j7 X; \( G  a9 B
</script>5 w" N0 z( K! m( m; ]( I  }5 P7 Q
</head><body></body></html>% m" _. _0 L, _& a3 {) `- x  e3 b
, b" v2 n6 u8 ~/ q7 `, b
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:" M) l4 \( b. V) U, F& v
/ C: v9 K; |. _7 u9 U- z& r4 h+ [6 W) n3 s
<script>& T7 k; u6 p! ^8 k
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 ); }
- U7 R' W0 ?; Y. {5 C( cvar sJsCmds ="" +
; |+ e  ~6 R- e4 q) h) Q& v  `& n5 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" +% B# Q$ R  b: l1 F$ O/ }
"";
0 d: @# P; `9 J+ J* C; Kvar s= Carbosoft( sJsCmds);- n2 {: s- N5 t/ n. A2 x9 h" e
</script>+ \8 G% s& B8 K; [7 K& q
<form name=qq>
% d: i1 w7 V2 k" b0 ?; K<textarea name=ww cols=100 rows=10></textarea>
  E) v; i9 E3 z  b8 s$ d2 L<input onclick='ww.value=s' type=button value="解密">
9 l/ Z# |, \1 F" g) ?) E</form>
. w# p' C8 `/ q( L* [. o9 |$ G" Q$ {  a" z+ ~2 k( [

; t8 P5 S0 Q( t* _% j9 ^方法三:
. o8 |0 A! u5 f& O. z$ h5 J) G) ~8 l7 h. g
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
. j; D" Y! }/ W2 _! }# ~9 i/ n
6 B8 P7 l5 X4 O, M/ D<HTML>0 O- ]# L( {4 w2 e9 n; k7 R# M2 e' u
<BODY>; @* y/ T6 m) s$ n; ?, T1 P
<SCRIPT LANGUAGE="javascript">
) d* d0 k1 Q3 xfunction Decode() {$ f* ]/ I* h, |: ?: W" i; H' a& ^
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;}4 d6 b3 q( x* @7 g: H6 W2 f" S' ?- {
</SCRIPT>
2 R( o5 T2 {- T/ _0 n5 {7 p<SCRIPT LANGUAGE="javascript">7 s, ]  F; a# d9 a! {; Y
function d (enc) {document.write(codeIt(key,enc));}
: `' M: e0 Y( u# |5 H7 F# s$ Ovar 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; a# B4 U& L3 M, E</SCRIPT>) y4 H+ q/ I2 f9 |
<SCRIPT LANGUAGE="javascript">
* b- I% W& Z: UDecode();: r# d% y+ z7 J3 u- D8 ?
</SCRIPT>
5 |- O# {9 K& [$ ]) x: r9 u* }</BODY>' K, P8 d' D; A) r4 a+ W
</HTML>/ j- @$ A4 h2 K

. p+ F% C$ U8 l  z  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:0 v1 V% G: O( c9 _

" H9 B9 U2 w8 \% j/ d( U# w, @<HTML>. F: r5 G1 f# r) ]. u$ V
<BODY>
0 |0 @2 |' t& j4 }* e<SCRIPT LANGUAGE="javascript">
2 d5 h+ @7 N# w# g: S) g& ifunction Decode() {
0 T6 D" X  v( z+ c- u7 id("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;}/ U" H0 Q7 s6 P
</SCRIPT>
" b7 P; [5 ]4 K2 g<SCRIPT LANGUAGE="javascript">! M3 c" F0 l. n, b0 h+ [4 R; Z
function d (enc) {alert(codeIt(key,enc));}
  H( l# W" _- _- Kvar 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;}, M6 L' S8 L' B, X
</SCRIPT>6 \  T, f, b8 J% O$ h
<SCRIPT LANGUAGE="javascript">/ V6 Q- T% W+ t: K
Decode();5 k( H& B9 g5 j+ ~0 x* W- q5 L) [2 K
</SCRIPT>- Y1 Q3 C1 M- c6 u% v2 D
</BODY>
: h. w3 i/ c1 }# S</HTML>
2 A/ N# a, W7 @+ p# W
6 p% f$ E  X" V) E  哈哈!!:=)是不是很精彩!!

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