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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
8 g/ f' X% p/ w( ]* b9 p
1 _5 p% V1 W. K- u
5 r4 z3 S9 t2 q6 u方法一:
" M" A7 V2 c- o2 r7 W4 e# f
! |2 z* s, V" u" {) n% I/ K/ X2 B- o/ |
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
$ q4 D' f- l, X0 w+ H; D6 `
( \" {0 g5 \& {% a) N  R2 S<HTML>
: m3 X7 n. [5 ?) I; @<SCRIPT LANGUAGE="javascript">2 V1 G) P  {- @3 W+ t
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"
9 W! ?7 d' |" ?) k9 o9 ~1 ~var NewWords;
/ m9 e2 |! }% H; SNewWords = unescape(Words);
7 M: i3 r! ~6 @, @. ?' ?8 Bdocument.write(NewWords)1 G0 U9 m0 E5 I* r& P9 @, O
</SCRIPT>$ L. E: F- E2 u6 D4 m
<BODY>0 k; \0 ^( e7 i
</BODY>
6 b, T6 i" K0 H! U</HTML>
) A% _9 W% I0 v! b
4 V9 O, X! K5 Q; g3 o( v. p  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
- Y$ Y# d% f1 N: d' C# ?' G" r1 Q/ s9 p* G# L
<HTML><SCRIPT LANGUAGE="javascript">' W9 p( [+ E+ a' W* q- T
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"$ X1 S6 c" D4 L! B
var NewWords;
' [& _$ G, U" L5 @. lNewWords = unescape(Words);
9 ^& t3 I: B/ {* C3 O& pNewWords=NewWords.toString();0 V, V# M5 `/ Y0 u% o6 |, J( W  P" ~
function password(){& w! j& l' r1 R# P, h
document.pw.txtpw.value=NewWords;
9 T% U" r- A! V; y3 s4 Q% q" y}0 i9 J! B' p! P# V
</SCRIPT>
* R6 v* m; ^% E/ R/ R9 O<BODY>9 P! q9 [! R. l4 i  N3 P
<form name=pw>
+ s- x9 O( H- B9 C! X<input type=button onclick="password()" value="解密">
2 _0 _  l8 c6 p+ V9 X<br>
3 U; G7 n5 H4 g<textarea name="txtpw" cols="100" rows="100"></textarea>  Z. S$ V: ^2 a5 e+ t$ {. {! {9 O
</form>
" i% }* R1 k9 p5 R: j1 j9 n8 n</BODY>; @' v9 v4 V$ P' w4 _
</HTML>3 f! p8 \4 d0 e0 m8 X

6 B) ]9 g1 e& C/ t2 _方法二:. F' b# r7 Y" _7 s& y- A* ?+ _% ^+ g
' Y' J# i% `7 g1 b( A( W
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:  H6 q, C6 K+ h+ w
& j1 X, \0 p) l6 D! I
<html><head><script>
7 K; m- [1 m/ M" Z  afunction 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 D1 W6 }, c& T; E" O; @; L5 _var sJsCmds ="" +( r7 u3 g7 b2 f; \
"?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" +  y4 r# \* ]/ V
"";! [7 }0 B1 A1 I" ~# d5 ~  `9 I
var s= Carbosoft( sJsCmds);
8 e; n! h7 W% Cdocument.write (s);: f* C: R  h( C
</script>
+ p, H4 o( O- g( o! ~</head><body></body></html>
& D7 K0 v0 Z$ ~$ B0 R9 T* J- E- B" j0 s0 F& Z
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
' I, T6 U) Q3 @" t0 x4 G* O
$ o. [7 ?: f+ l- e3 r<script>
3 _( H) z8 \' n, Q! Pfunction 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 ); }
# {8 k/ P& g1 U8 s5 |: ?var sJsCmds ="" +5 z2 C3 d: Z* m+ o7 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" +
1 ]# F3 k, Q, l6 z  [: {3 o"";
! B3 q1 |6 O6 Q8 [, Pvar s= Carbosoft( sJsCmds);# H$ s3 L9 V2 N. d* c( c* X' p
</script>( B  Z' T/ m) U! d/ y, J. H
<form name=qq>
2 m1 P" K4 g" l" h! U! H8 \: ^<textarea name=ww cols=100 rows=10></textarea>/ Y/ Q7 m# F! r' L. i/ H0 l6 G
<input onclick='ww.value=s' type=button value="解密">
" P# Y9 _- O% x5 p! M</form>3 F8 w4 a5 a: r; ]* \4 s

" q  i' d% ]9 a
7 ]! b8 W; k5 J% I方法三:
7 j- r5 X  m8 c0 G/ `0 M  ^) p9 L' H8 s% U! G
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:& a. J6 H& v3 b8 d7 N1 Z. J, y! A
; O8 O* D- s1 L; D, [
<HTML>
  u" B2 t; d' x9 @8 l3 D& ?% W<BODY>
) h. u4 i, h- w, t5 \) Z% _, j<SCRIPT LANGUAGE="javascript">; }! S0 k) o: v& y
function Decode() {
' u2 \( u4 c7 e  H; d2 p6 @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;}7 Y! V6 b6 |, ]% a& r3 ]4 i
</SCRIPT>4 d, N7 \5 d" Z' X5 n
<SCRIPT LANGUAGE="javascript">3 p: s" ^+ @9 t+ O+ U, _
function d (enc) {document.write(codeIt(key,enc));}0 B7 G. I: @5 T9 z
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;}
$ f+ h; u* t4 u) W- m</SCRIPT>( I. L- {6 A7 ~5 w! J1 o
<SCRIPT LANGUAGE="javascript">
& p) y  t2 f5 a. N2 [Decode();
! a4 o5 y$ a) {8 B: Q</SCRIPT>
, A  x; W) ~9 {</BODY>
$ y5 `% s0 y% X" u, N</HTML>
+ C; r' C" w* c9 y6 `5 m
! ^. p; K  _( P5 x6 l* Y  m, y) y/ A  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
( R0 r% F- O  R1 P8 a5 K( \6 i# W0 A% c/ S7 S, Z0 y) q
<HTML>% F9 t- [7 o/ E% Q  _0 k5 p  X
<BODY>5 J! \* h3 P: j8 T
<SCRIPT LANGUAGE="javascript">
: z9 U. i$ V% \' B0 Cfunction Decode() {
  h$ L; Q  _9 W) K7 ad("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;}
7 r# k9 c" d2 x$ p</SCRIPT>
1 H. B7 n& x7 T0 l<SCRIPT LANGUAGE="javascript">
' v0 [/ f4 m, H+ y! ?$ e7 {5 j9 X/ |' kfunction d (enc) {alert(codeIt(key,enc));}9 K; B0 }0 @' g* K
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;}/ z$ S$ {" I$ y
</SCRIPT>5 w% w- m# T8 C5 h- d" i9 L2 }
<SCRIPT LANGUAGE="javascript">7 G$ [  I5 {9 P& G1 F
Decode();
5 u# O; Z7 i. p, Q</SCRIPT>
4 j9 K+ M- S  \+ Z' Q7 N# c# s: K! b4 L- A</BODY>
; k& K0 n7 `+ p: n</HTML>: p- h4 p" u4 b( h+ z: o

0 N1 D* j4 G6 a8 C1 v' L- R' n  哈哈!!:=)是不是很精彩!!

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