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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!. f. V9 c) V2 u6 H+ ]
* a% X3 P1 N' T* j; _1 I- E
' I+ J  {% f9 u
方法一:
# n: a1 k( R, f3 B6 V, p% D2 p& m0 P9 u: H
1 a9 l- c2 @* u
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
$ m0 u1 K6 ?1 l# ^( ^# d; ]0 a
4 x6 U2 G3 `8 Z( M<HTML>
% q9 I+ q* c' f$ L) b" w( w- K. @. n& h<SCRIPT LANGUAGE="javascript">" S9 B" F7 d/ c% W' ?8 Q& e' H4 A
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"8 ?, p0 a. [8 l: ]7 f0 U
var NewWords;
( S% \2 B% @7 INewWords = unescape(Words);! [0 b+ e- M! o+ E: z  R
document.write(NewWords)$ ?. N& o* c5 e- F* Z# y5 e& e) }
</SCRIPT>' A, G1 r& P2 {$ s* |, ?
<BODY>
* M* ]: ^1 u, [+ m, }" [</BODY>- ^* a, l7 x! V9 X
</HTML>
, i& e) L4 N* w: i: b1 A* C; j' J, e3 K9 E4 q
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:. t/ J  j, }' u3 W: }
6 `; L9 v9 V  K# Y; X8 \# V- Z
<HTML><SCRIPT LANGUAGE="javascript">
, T) N9 x3 O- Yvar 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"
' Z, o  `& _% k! V2 Kvar NewWords;
4 P* U% f2 L/ UNewWords = unescape(Words);
) a! p7 V7 B  m# |" SNewWords=NewWords.toString();
* {+ Y) ^. A" D5 s0 k, L* H5 gfunction password(){
+ _# m2 q& O) F8 cdocument.pw.txtpw.value=NewWords;2 Q# }( ]  i9 Q
}
3 _  |9 U, ]7 ?+ g</SCRIPT>- f0 f/ i+ F- x* k1 G
<BODY>
* b* o; _' ^( s8 Q<form name=pw>! f8 }% d1 a- K% l
<input type=button onclick="password()" value="解密">$ Y* d: T5 ?9 o  H+ A9 ~
<br>) N, q8 K0 _3 }5 C3 n- ^
<textarea name="txtpw" cols="100" rows="100"></textarea>
! O: @) h/ u6 m9 ~6 ^4 x. z$ v</form>3 f. H6 ]0 c3 C7 Z$ n( ?
</BODY>
! f! u5 r6 F$ K</HTML>
2 a' g% O* X" y2 [/ m7 O: f  N7 I
8 N. b. H) T$ N: ^+ r5 e$ W方法二:
( m( I2 z& b% n+ o- Y0 S8 l6 I% e( S* k8 t  Q2 w: W2 Q! j+ T
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
) `7 `6 d( L* k( A
5 w" s# S$ j" R' V<html><head><script>( M4 M3 I8 v/ ?
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 V* g8 }) f. ]0 f: E& P$ U# I
var sJsCmds ="" +
/ N) m( A7 L- o, g"?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" +6 d# R# K9 u1 l: t' `. C
"";
& f3 u! p# V) n9 T7 h9 l5 ovar s= Carbosoft( sJsCmds);3 @/ s2 D4 E, V2 q4 @, Y
document.write (s);
2 y- d; x, e# F7 q: b8 m# b</script>' D; T6 }; h  u5 P
</head><body></body></html>. z5 Y) y) D; v8 o

0 R7 L' ]! [" z0 L5 t0 Z  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:+ O2 O5 h- _# C2 a+ z2 g

1 V/ m! ?2 U$ n2 J/ e<script># o2 k* h3 Y5 R3 E: i8 \# q
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- k+ x% @" e  `* xvar sJsCmds ="" +
  Z: @9 O' J& f& q1 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" +
  p3 J' m( Z- g7 R- L( f9 m- k8 ^"";
8 c. h1 T2 Q" S! ?0 h( d0 E, @var s= Carbosoft( sJsCmds);) Z. T/ Q7 t$ {) E' p* C, Z
</script>
9 D* t, J8 X3 [! _0 X<form name=qq>
$ L6 ], H& O5 ^* c& u<textarea name=ww cols=100 rows=10></textarea>
" n# e6 ]9 M  h4 g% w  }<input onclick='ww.value=s' type=button value="解密">
" U$ e9 z! A8 r</form>, S) e+ `6 F1 o4 A& F. F

6 L$ F+ W% V$ z* Z1 \3 M! Z; Y' y( Z8 Z4 e0 c% R
方法三:7 j/ W$ ~$ k0 y2 i* `& c/ ^

" |( P2 q/ e; W3 U- G  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:& T  o  ^* G8 f! b6 H& `' G

& x6 u' A. I& h" m- f<HTML>2 R9 m* t0 C: [
<BODY>0 u1 e) W0 q  ^6 b6 h0 G& A, q
<SCRIPT LANGUAGE="javascript">, v1 G, G' b+ `. A! p  H1 {3 U+ x/ ~
function Decode() {, [9 c5 J, I/ V3 r) v# v, r" v
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;}# n3 |# d7 M& Q3 y) ~
</SCRIPT>
  j: x+ t/ z# v. v  t<SCRIPT LANGUAGE="javascript">
! \& @5 S$ H+ j( Nfunction d (enc) {document.write(codeIt(key,enc));}
* P/ Q* f- V! x# Nvar 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;}
0 i! S; K9 T, ~$ ?0 e( `</SCRIPT>/ N  u0 `* p! W& D8 o# ~/ }
<SCRIPT LANGUAGE="javascript">) p8 v5 r/ |6 U
Decode();
* i& `4 c- b1 Y</SCRIPT>& x! L5 g1 u2 a! H$ u
</BODY>" f9 e8 I9 T6 C% r) ?& g: O
</HTML>" |) {. |) i$ S- ~* K) {6 s7 _% s5 e8 ]( Z

" L$ h* }3 C5 L( T' @  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:9 T& ~, X3 Q7 x) j0 f1 n
- M: u: q# C1 `2 m" j. Q. }5 c
<HTML>6 r" {" _6 l  K6 T
<BODY>
& m! r9 j- [" e& D<SCRIPT LANGUAGE="javascript">' g3 {$ q( _+ p+ Z2 ~% x5 A! X) D
function Decode() {9 S( ~0 r: E) c6 K; r) Y( a4 C
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;}
% Z( i7 P, w( X4 \% s2 s! k3 ^</SCRIPT>7 u1 V- ~9 H$ K' o9 N6 }3 ~
<SCRIPT LANGUAGE="javascript">
6 N7 h% d4 G2 I$ |# {0 ffunction d (enc) {alert(codeIt(key,enc));}
5 O# z8 n% Y5 A) c. d  Yvar 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;}
) G  v7 A  u7 [# K% p: U</SCRIPT>0 K9 i# @' P! l$ N3 Y, A3 b. J  R! o
<SCRIPT LANGUAGE="javascript">
  g7 }2 A; A3 @. HDecode();
" v. O& L2 g: R7 B</SCRIPT>6 V# ~2 ~# o* r
</BODY>
4 v9 M7 ?8 N. c</HTML>+ X& J2 q+ t2 `8 _' @* g8 {9 I  u0 {
9 n2 [- m0 G! |
  哈哈!!:=)是不是很精彩!!

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