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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
7 [& G& n, k- X' J+ I" M2 P
, k) N+ V: B5 F" f7 u3 o' U/ `
( w1 c; [+ u0 p; m, b9 U& l, _方法一:5 T( p* q, h5 N6 U3 D; z7 K

! i' r5 H, r5 l& U. z3 b  M$ {$ p
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:0 s4 m# K$ F2 M% ]- Z
" o3 U; ^) B% x6 c- F
<HTML>
* h, M- l* z" W3 Z2 ~<SCRIPT LANGUAGE="javascript">- _% ?5 v( o7 q
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 B4 z! V" v! s, ?" r
var NewWords;
; @" a" S9 G  ?' `; M" H* b0 [NewWords = unescape(Words);- c. d. t  g2 o" s% L  d9 e) _8 \, V
document.write(NewWords)
# V3 M4 H/ L) A" x+ A</SCRIPT>5 P# M, U0 y# i" C* h& z
<BODY>/ `, _3 B% b; ^. v
</BODY>
  l1 v7 a3 i: `1 i) s</HTML>& u" @" ^* H  F6 `1 F( ]3 |5 @2 B

, x; S( a+ ]# m# j, y+ X- Z  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
$ K  ]; J9 v! v+ S
0 U+ f# j, Q3 w7 Z# F/ q: a<HTML><SCRIPT LANGUAGE="javascript">
/ J) A1 `$ _, A9 e8 d8 ovar 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"" D2 Z) t8 _' w- K% ~
var NewWords;
/ Z6 Y$ q" u, x9 ~- \/ j, lNewWords = unescape(Words);- O, e9 Z, }: b* B  m" R
NewWords=NewWords.toString();
" T; ]$ [% G2 I* c& Z3 [+ N3 ^# Y6 ^function password(){
" X& A8 M6 C$ B; n$ R/ E4 B9 Mdocument.pw.txtpw.value=NewWords;! h/ [  o* S  x
}
, \3 B+ @! e8 b- @0 O7 u5 m</SCRIPT>& }' `* c1 j$ u: ^
<BODY>* ?; b7 x3 C8 W4 J
<form name=pw>
4 _8 A* `# A! Y" A. t: r<input type=button onclick="password()" value="解密">
% q& e& M2 V7 A& Y/ X( a( w<br>
  i; \4 x4 d- H<textarea name="txtpw" cols="100" rows="100"></textarea>, \: K1 M" O( r4 L* g
</form>3 y2 s! t; c  C4 }2 v1 H" Y6 k
</BODY>
* z& _0 L! `( ~: q3 F$ @</HTML>; a/ q! Z8 j6 s8 U; y0 q$ \

+ o) l: [0 Q6 u: V0 M9 G0 W方法二:
0 }3 I7 d* ]: Z/ [2 R
( H9 ?; ^9 ~' K7 J" t  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:& G6 n  |- b; f0 A- k9 K% \

6 r: d$ s5 B( B9 {' H2 M<html><head><script>, k3 x9 |8 V- l* Q" ~# n7 x9 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 ); }
3 w; g% k/ n; {  ?( Xvar sJsCmds ="" +7 Z( c) q- S* \; c
"?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" +: D2 L8 S8 C# [3 T" t
"";+ e3 S0 }2 K5 x) {# l. x
var s= Carbosoft( sJsCmds);5 y" H1 e4 u3 y  v8 B3 p7 n# P8 N
document.write (s);
2 S% G" E) K% O! X- j+ X</script>+ F" o. c3 E/ W8 L: `
</head><body></body></html>
6 O. A" s; J& ^! T5 n: J. R/ S% Z+ I' b& T& t
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
( R9 v7 n, K% l: X- H* n& o/ u  a1 w$ W1 o
<script>  @3 }. q4 M& E9 g7 f! _- T
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 ); }
: T! G1 G* t7 V4 ]2 l8 tvar sJsCmds ="" +
* a6 R7 Y5 I$ H6 @"?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" +  f+ t3 w- h4 h0 u& M
"";& [: R  K  r# B# }
var s= Carbosoft( sJsCmds);
& I$ D- n8 B6 m# n1 _</script>
% o' j- |, b# N2 Q<form name=qq>
1 q$ I; l5 a8 T- b& K2 o<textarea name=ww cols=100 rows=10></textarea>$ o+ v2 v! L& Y# O& v
<input onclick='ww.value=s' type=button value="解密">
& q1 \6 r0 u8 e2 \7 w0 U% D- A</form>: q7 |: G, z+ \' R  [
( k# K3 h8 w9 {8 F$ ~" K

7 k: \- t% r% b1 h方法三:, F8 Q2 A9 ]  {7 L
" r( I+ @8 s2 J: X
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
" w: c' w. d. W1 S# f5 ]: b' K
$ O9 H7 ~7 Z6 _3 `<HTML>
: o9 I  S0 @  s5 D<BODY>
5 Q) V# e1 m% V. P<SCRIPT LANGUAGE="javascript">
5 T; Q  G/ n0 C% Z* Vfunction Decode() {
& V" i1 _9 _% t( vd("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;}
1 L. A9 r( h9 ~7 n</SCRIPT>$ e& \" q3 _9 o6 U1 I' {% N# @
<SCRIPT LANGUAGE="javascript">( J4 T6 E0 M3 S# g0 }
function d (enc) {document.write(codeIt(key,enc));}* D; V+ G6 w6 ]4 f# n' d
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;}- c3 T' g. {% G; [4 S
</SCRIPT>( \. O' a9 C; }/ v
<SCRIPT LANGUAGE="javascript">) b( K! f/ ~1 x: Y8 D
Decode();
1 G) \6 [: q. C5 b$ b</SCRIPT>
) v0 g2 L. ]5 f: |1 U8 m: y% J</BODY>, b1 _! ~- @6 [0 {4 J5 y3 P
</HTML>' `# c& ~8 ]. }! U! \1 t
1 V' q# J# {1 s  ]
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
, E8 R; g2 T0 t# d, f7 N- t+ s: _* }6 z% X
<HTML>
0 y- r$ |. V+ C, ^) Q* u$ p<BODY>
. a6 d. ~2 k$ }- t& A$ J3 {<SCRIPT LANGUAGE="javascript">' y" w$ F: P9 z) s( O
function Decode() {
# y& @1 o( E% @; Wd("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;}
: u1 A1 ^: k# A</SCRIPT>
! o, Y* C7 T/ w* A! ]. i# j<SCRIPT LANGUAGE="javascript">: J; e) y9 w; I! w
function d (enc) {alert(codeIt(key,enc));}6 O2 n8 A2 U3 w3 t5 e
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;}$ ^' j0 y9 W/ M. X. {; K- |% i
</SCRIPT>
" d% V( r# v" B$ L! [<SCRIPT LANGUAGE="javascript">
7 c- T1 w& V* n- {; U; `Decode();- E( m1 x7 T( `4 p) u  j4 I# B
</SCRIPT>
  C! x; Q5 G8 S" h/ `; B  J, Z) S</BODY>9 o0 O; @: A3 ]0 `6 l, j
</HTML>9 U3 d( s" H/ v) q

0 p# K" K& }- k; l  哈哈!!:=)是不是很精彩!!

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