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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
: s) g$ u7 K8 A: w2 f0 H$ g. O6 A% o3 M9 O' v5 |# N' h, j
, s; |9 V% s  i5 Q3 h, A* H7 r7 B
方法一:
- Z& W/ i# }) X1 U3 Q' J! y4 z
$ v4 x9 e0 w2 U8 `& Y1 Y5 W8 X% R( S$ W) j8 X
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
4 t% f" N% {7 `( c, u' ^3 W7 L" I7 j1 Q7 B0 u- Z6 ~  g
<HTML>8 a( R5 i# e: h: Y
<SCRIPT LANGUAGE="javascript">" c, `  O/ N4 ~- z- W6 M' \2 D1 D
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"
: C: |) R0 X3 M0 W8 R8 e- Vvar NewWords;
# L$ O3 h( a, G% m8 R/ T" }NewWords = unescape(Words);9 {5 [$ [1 ~. x/ o
document.write(NewWords)  M4 Z4 {' O7 R' m/ j: u. |
</SCRIPT>
! h3 u3 Y% O0 C! j* Y9 a<BODY>7 S3 n, o9 N. l
</BODY>. F: n3 _1 `$ s3 I4 j6 \
</HTML>! F$ X- `. Y7 J$ h

; o$ O9 |, x# J/ d: X  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
- f4 A  C) S8 t/ ?0 ~2 |3 l! W/ h: h! ^' H; d4 x
<HTML><SCRIPT LANGUAGE="javascript">1 }4 b( C8 n7 B# s4 [1 N! X
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"6 L/ Y5 u2 f- k5 o3 e; N. u9 N1 Q
var NewWords;
, T5 ~3 C1 r& r8 C7 [8 n- bNewWords = unescape(Words);/ w2 r, T9 Z0 b
NewWords=NewWords.toString();
" p+ _1 N7 J# F) r. Hfunction password(){4 }2 w$ e8 I* T! c9 N/ D3 `+ j! W
document.pw.txtpw.value=NewWords;) |8 u) R! ~7 a) R7 k+ d( f4 G' {
}
5 Q# C/ Q' _- a' C; j! V8 }- X. s% c</SCRIPT>2 ~: ], A% L$ ~1 ~& X' z4 T+ J, b
<BODY>
' W" X4 a7 \' a1 [  w: b5 U<form name=pw>
: c; s2 V9 m4 a  C3 V5 j<input type=button onclick="password()" value="解密">' }! E3 {; h2 P5 U
<br>' Y/ O( n6 q, v" Z  Q/ ^
<textarea name="txtpw" cols="100" rows="100"></textarea>. N! T7 E2 l7 F# ~
</form>! ?6 Z2 U2 O" j; i' n5 a+ r  q
</BODY>2 p/ Z. [: o; ]8 U
</HTML>
$ c, @7 a3 D' Z% \5 P
2 @/ v" t) l7 O' y' V! o+ Q! \方法二:
3 K7 T: P, m" m. R5 i( w) y3 n3 u# m3 P) w
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:" g2 F1 z* A$ J; j$ G! e8 B! N
2 B3 q" ~; g& J3 \4 t
<html><head><script>
1 Z# |5 K* k8 |0 Q9 `$ Nfunction 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 ); }
5 R( v# W0 u# i0 V3 ^: v: Kvar sJsCmds ="" +, y' B. b7 {& L3 G! i0 U
"?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 ?; @; L( {: i0 ~% \4 ]8 H"";! y" w2 E$ F% r/ n- }
var s= Carbosoft( sJsCmds);" O8 g- v$ t4 a; E
document.write (s);& u/ \6 ?2 ^/ Q" J# u4 s
</script>
5 c+ _* [& I* m4 R+ ?: i" h, `</head><body></body></html>3 w% R" t4 z9 s( ~! l$ p
0 g1 K4 m1 ^8 l. ]0 x' k; k. I
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:6 p8 K6 {5 i) t

' k- P8 G, f) t: K) O( [9 q<script>
$ B) C9 J% r* h/ V+ Efunction 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 ); }) W. l* s" H8 e8 w- L
var sJsCmds ="" +
; Q; Q& o% a( k- Z3 A/ S3 @5 D/ ~7 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" +$ x4 M- M3 `! i* P+ [
"";
$ x$ i5 f4 Z9 wvar s= Carbosoft( sJsCmds);
: L6 K  I' C% K* b* s3 r9 N% f  K</script>
& x9 N6 i" j3 P" C: e' j<form name=qq>
$ w8 c* {4 ]% M( ^' o! _<textarea name=ww cols=100 rows=10></textarea># L- l' t* |3 Y' _( b8 X; C
<input onclick='ww.value=s' type=button value="解密">/ {' H, d; c4 w$ U0 c
</form>4 i, E0 o5 y" T/ K
. T: j: O8 @" K7 E! S' d

; ?  [& w+ u2 `1 S. j8 W方法三:3 z$ d: z, Q) Z9 U$ P/ N
% W" E, n/ {; _0 z4 r( z
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:1 F6 Q9 Y* y7 I  s7 q3 U1 ]
- t8 u  c* {- e& w! w$ q# ^' g" P# p% |8 u
<HTML>
& c1 ?5 }" ^5 u, ], ?" o9 C<BODY>
! c, B; Q4 r: i1 R( ]  q* P<SCRIPT LANGUAGE="javascript">
) ~. ~6 _- x; O8 A" vfunction Decode() {6 `4 V4 y- d  \! u' A1 g! Y
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;}# F' a4 \9 c1 N! E0 k: P
</SCRIPT>
9 m# r+ J) V3 V6 [  `8 m6 [6 }<SCRIPT LANGUAGE="javascript">
% M- X+ Y0 a1 f" B4 m/ K% w0 u* Ufunction d (enc) {document.write(codeIt(key,enc));}2 d& a% `6 Z$ C. M, L1 l. ^
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;}
4 P% R) H/ s5 @8 o2 S0 l- c</SCRIPT>4 y1 |% Z- |- A
<SCRIPT LANGUAGE="javascript">
& s" `  \3 n5 j5 h6 K6 x, W& GDecode();
5 `! _) B! X: a$ L0 \" C& [</SCRIPT>: ~  q) e) s, D* @, r
</BODY>
7 Y% I2 |) b" R: o. ~- j  [, _9 h1 X</HTML>9 j/ F& w- K# L( A% d

4 C" O- |& F  B5 C: j) E6 m3 J  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:+ Q. x- \' {  P$ w0 m4 H

; R8 B3 Q. F: s' _+ r" [9 E<HTML>$ ]2 e# g- G" l4 D% f
<BODY>3 ]" Z- e  D, Q# c
<SCRIPT LANGUAGE="javascript">
+ R9 j$ J: x0 X  \( S8 r! i+ T. wfunction Decode() {
1 H5 G# ^9 r) Hd("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;}
% n( s* G9 y! t& n1 |: }+ b</SCRIPT>! H$ ]8 D; ~$ n/ o% B
<SCRIPT LANGUAGE="javascript">
/ M; p# r4 G/ `1 w( k' Pfunction d (enc) {alert(codeIt(key,enc));}8 U/ ?& d' B6 Q' Y& O! y
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;}1 z6 V# z( e0 r- X3 j
</SCRIPT>' h9 s) z, ]: o5 ?! ~
<SCRIPT LANGUAGE="javascript">3 N6 ~4 c) S* x, H) P7 e. B
Decode();* U  V1 S, z0 Z) J
</SCRIPT>' N7 ]/ \5 @3 i2 j5 w
</BODY>) k! [# s2 r7 P, g  X4 u5 I
</HTML>
* H' q4 \/ J! ^/ K3 A& @7 G
# t4 k- B, e) \* y  哈哈!!:=)是不是很精彩!!

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