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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
" |3 G9 t, I2 s0 d* e: c
* S) @' n! `- {% ~: N5 D* l2 j3 n7 T% [# R
方法一:- E& E( g$ ^, `: s" v( L; A7 Y

5 J& |/ E3 J9 K6 ]5 e
" o  Q* A' m' h5 e2 h7 p  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
' e, L( h6 {' x, B5 j  |" {/ w/ b4 v, ?5 d7 |
<HTML>
1 T! x% X& u+ u. q' `* `<SCRIPT LANGUAGE="javascript">
; E: i" i  \$ k! W# R: Uvar 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 D7 A/ f0 F( _var NewWords;! y8 S5 }4 F4 n' ]4 k" T0 Z
NewWords = unescape(Words);1 b( j( c8 q0 A0 m" O8 a
document.write(NewWords)
3 B: J4 O, ~7 V! W+ q" ~7 x</SCRIPT>
1 Y! `$ N# `- s4 B0 K4 L0 d7 U<BODY>
% w. f. z" g0 i% D9 O</BODY>
4 L+ S" l# M* e: n: K</HTML>3 R: W+ B% g0 n

7 K1 W  I! J3 E: z# N9 P5 J" L/ [  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:9 D* H+ j! |# c' N  E

& ~; N9 _( e: G) M+ I<HTML><SCRIPT LANGUAGE="javascript">
8 E0 X: Y+ N, k3 M! kvar 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 ?! ?) Q7 T0 j* X
var NewWords;
1 e9 F* L( r) o: P" z, x9 MNewWords = unescape(Words);
+ \& v1 p% e( i; V$ m7 \1 d9 zNewWords=NewWords.toString();3 F/ @1 j" P, Z9 A
function password(){
, J- ]- ~- f. u3 Ydocument.pw.txtpw.value=NewWords;+ e/ X) T) f2 O
}0 [) F7 ~6 v/ @9 c% j
</SCRIPT>6 |# w: [* _- G
<BODY>" K% v5 T. Z/ E8 V1 I6 G2 S  n
<form name=pw>4 N1 d7 R3 O+ m9 G
<input type=button onclick="password()" value="解密">
3 s; N0 s% r2 E) g9 z2 q+ L<br>
) a. U$ [9 N2 F& B" H; M8 k, A) `<textarea name="txtpw" cols="100" rows="100"></textarea>$ p. s" Y+ e: H
</form>) K! e- B2 h2 o0 a
</BODY>$ [4 Y) E+ B. S! {" S" p# w: z
</HTML>
- ]0 ?" X/ O! _7 v* b6 o5 c1 c3 w1 \  i/ N4 }/ j7 q
方法二:
% f- {( V$ v" F' J/ ~4 X. X$ r9 V7 `- B* \
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:( E2 d0 n  R8 V; z/ I0 d3 G' j1 i

: b0 v1 L* D' d1 ?* J) G( I<html><head><script>
, H) T! _* u: Z, q: kfunction 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 ); }
4 {& M* v# Q2 m' M5 M1 Xvar sJsCmds ="" +( n0 c/ o& u& |6 w- \4 l9 V6 ?! [
"?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 S/ v1 y( a2 X4 ^6 ?+ z
"";" |5 `6 w$ K, m7 ?$ H9 p
var s= Carbosoft( sJsCmds);" l; I1 ]( B! H  I# P4 y" p8 i
document.write (s);% w7 o% A% c( N6 |
</script>0 O8 q: f3 ~# |" R
</head><body></body></html>
/ s1 G6 r" ~- w2 V
) Y% y) M+ H* @, w  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
+ _: J: G/ {% h$ D7 s0 e, Y
2 O1 [6 Y4 C) \<script>7 K3 Q0 J9 h; O) |7 ^. o' H
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 ); }$ ~. ^2 c* z+ s# {- b* Q% A& R
var sJsCmds ="" +3 w1 @" g2 k) d+ _1 b
"?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" +8 s6 e& j5 \* N$ z5 ?* V& @8 \/ R
"";
7 Y! i" A* Y1 `var s= Carbosoft( sJsCmds);
' u6 S, U$ Z4 r: ~</script>
4 i, i: m( r. w7 x- C( |7 G<form name=qq>
& s( O! v" X5 _% E<textarea name=ww cols=100 rows=10></textarea>% S- B/ C2 k% @! Z1 O
<input onclick='ww.value=s' type=button value="解密">
1 U5 n# r3 _. p8 U+ n. _$ m9 G' w</form>2 b( n7 W1 R9 B4 B* Q9 s. k

4 K0 b. d3 Q% u! [2 K2 L3 D( P4 F/ Z$ y  ]! f
方法三:* q  m: A3 M6 D- m" x

# `4 p+ T! @: d% R6 ]" D9 c  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:) r6 T: i5 ~: e
9 `4 n9 r, D& C; ]9 c1 W. d
<HTML>% K8 f  |) [: u$ h# T" ]; J) q+ x
<BODY>
! A; {4 r& i- V: @6 \/ O<SCRIPT LANGUAGE="javascript">
6 P! _" Q0 G2 P% mfunction Decode() {
4 m2 G. h2 F9 W) E3 @1 n' q4 Q3 \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;}8 O7 r, p0 j: c. l0 q
</SCRIPT>2 o1 h$ ^4 z( J! C$ ~& Q
<SCRIPT LANGUAGE="javascript">7 _+ I; B, |* v
function d (enc) {document.write(codeIt(key,enc));}: ]/ c$ c4 o$ D/ V/ }
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 t; U; n% H. v% W. r8 [; i</SCRIPT>
& W/ b( b- }0 J<SCRIPT LANGUAGE="javascript">  P& A! _2 a& I3 ~8 z" a
Decode();; x9 s$ K. `/ E8 k- W
</SCRIPT>
8 _9 v2 s9 m% N; D" c3 N( |</BODY>
8 n, a" C; _0 A4 Z</HTML># u1 w8 t( C% I7 }5 ]. f
! b9 @" L) f4 A5 H7 n) b
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
$ G/ l: ^! C( O# h5 X' Q' {* {: J
' q' q. z4 E/ u; X" [( N3 ]% N( L<HTML>1 G8 W0 ?9 U0 W. X4 Y4 v* H0 o+ H
<BODY>
- n6 l5 w" ?% e; z5 A<SCRIPT LANGUAGE="javascript">, W. U) w5 e. [2 E3 z
function Decode() {  ^% b4 w$ s8 e1 s# H# S8 C9 ~- g& s
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 c( k1 B% R& p% e$ `8 B</SCRIPT>
5 E  D' s2 v+ D0 B5 Z2 Q7 ^6 V<SCRIPT LANGUAGE="javascript">
; b3 Q! z+ ?# T8 x2 ]function d (enc) {alert(codeIt(key,enc));}8 m0 b# A# `$ x8 e7 D8 ~# o, u
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;}
2 p/ i: E6 n0 ?" b6 |4 {</SCRIPT>
! @: o" n, [, \3 u0 I<SCRIPT LANGUAGE="javascript">
) F. q# Z- M5 }2 G3 BDecode();
/ e- }, s, e* N+ X</SCRIPT>
# }0 ~3 c  x2 E+ y' Z5 o, Q</BODY>
* F! B5 [; w; k$ b' o3 H</HTML>
3 r) r4 i% h- o& y3 x+ b; D% F5 N0 F1 v
) z( Y7 q+ x4 q! T* G  哈哈!!:=)是不是很精彩!!

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