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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
( |' a" \9 T' a, g& |5 p# U9 j+ N- @/ U& o# \, N0 g$ g  {

% [. k4 z6 E* }5 |6 q* U* u( x方法一:# N! j  _$ Z, g7 U7 \' b

) ~$ s& |0 E* U0 l9 l6 I7 @4 X4 Y8 B2 b
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
+ q; g( i/ \5 }7 ?3 A' ~& F- Y2 H4 O) v
<HTML>
1 q8 C* q- s9 s! ^7 B1 C' M" P<SCRIPT LANGUAGE="javascript">2 B$ h$ ?0 z+ 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"0 D0 J/ w& `0 Y1 I; Y& r
var NewWords;2 d2 G- ]' B3 d
NewWords = unescape(Words);0 y  u0 J1 l+ v% P* |2 Q4 Z# M
document.write(NewWords)
% w' E1 M7 G1 E% Q</SCRIPT>7 m( Q% \% i" k' E4 i5 t
<BODY>( o$ x' z/ F4 u! K8 x
</BODY>/ f+ N5 Y1 S( w( b& ?  ?' O
</HTML>. m9 A0 u/ w: x

) w/ K% l2 V5 P4 Q  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
" k% C/ V8 T9 V/ q6 [
, z+ j* T9 P. Z: P! Y  |4 ~% _<HTML><SCRIPT LANGUAGE="javascript">$ h' ?2 L( w, k4 q' L( O% 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"
! \' v# d7 k& R" ^8 a0 evar NewWords;
. d1 ~' C9 ?3 i" K2 {) CNewWords = unescape(Words);, e, E$ H5 s' ]  C4 x" Y$ D. x/ T
NewWords=NewWords.toString();
* a5 O: J, X- E: X8 P3 [function password(){
% i# P7 o  B& v- t% K& w* k# z5 Qdocument.pw.txtpw.value=NewWords;
+ o; ^4 y% v: b/ A( i7 _}4 x- \2 |/ P  V$ u* P6 C* w
</SCRIPT>
: P- m1 ]' l" Z& k: e; ~8 J<BODY>
( W) q0 ]! w7 K/ p+ h# E9 b( o<form name=pw>
7 i5 c7 ]/ R2 c0 C<input type=button onclick="password()" value="解密">
" D, v9 S) l- `0 E$ V) E% h. b' ]<br>4 \/ z. ]8 m& w" d7 h# P) E
<textarea name="txtpw" cols="100" rows="100"></textarea>
4 A7 Z. L' m; A' w9 k( z; x</form>
# K/ y5 x6 S5 k: L! ]</BODY>
6 g, N4 ~5 R; j' c</HTML>4 ]+ q# }  p/ K0 Z$ o

  E1 Z  k% w" h- Q方法二:' e9 g4 E( B/ n7 s
. r% o& F$ U$ I) Z$ ], @9 d2 U" @
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:! G$ ?3 |0 l: M3 _% A5 m, Z
! O$ p+ S. x* |2 M/ [0 z8 P! _
<html><head><script># ^3 A& c4 G; \1 j; @% e. c6 C
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 ); }% J6 K# E) Z; d; O, V" ?
var sJsCmds ="" +& s; P" Z) h! L, f7 v% j0 o' S
"?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" +
$ Y: Y! ?& _# V) I"";( E" M3 j$ g  ]3 c* L
var s= Carbosoft( sJsCmds);* i  D+ p+ ^8 L# F; {* d7 y( p% R
document.write (s);
" y7 t+ {/ k: d9 ?$ t& T2 w) g; c</script>( V2 d: A3 O) f1 X/ u8 B* k! k
</head><body></body></html>
1 ]/ f* X" K' t$ Y1 T) u1 b
7 a$ V/ ?: [/ V7 g2 P* e  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:0 a- H4 {9 C$ i( m7 g$ A  h

1 t# w. K8 z, v' [, ^; }% P<script>3 c# E' S% E" 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 ); }
0 f6 r/ h  [  ?' Nvar sJsCmds ="" +, s* S1 J$ m% R3 V
"?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" +- r+ o* a! ^& f! `* `
"";2 h0 [( ~: e; P* d, a5 m1 K0 F! x# ?
var s= Carbosoft( sJsCmds);5 K- I# K& ~: k5 `: n
</script>
" ~; j0 @9 a: }! O2 I8 {3 x<form name=qq>6 Y! z; M2 I+ Q2 ~4 R: h6 R: L
<textarea name=ww cols=100 rows=10></textarea>
- w% f$ P" L+ m( n<input onclick='ww.value=s' type=button value="解密">% n3 O7 A( J5 z. S3 M# T
</form>7 F8 L: ^/ S4 w
. F/ \) p2 z: g$ N7 w4 [1 i+ M) y: a+ Z
% l& w' Y" Q3 M" O5 h# r$ k( H& H9 x
方法三:* b, {( ~9 \; U' ?! B  K
  X7 u$ M$ _9 J: A$ E
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:# K# ]9 v5 ?# D% i: {5 Q

" ^$ X  u' t+ C( D+ K<HTML>+ C1 t. W1 K3 W0 p
<BODY>
# B8 d8 `( }! A<SCRIPT LANGUAGE="javascript">+ ]; Q' _' }" w' A
function Decode() {) j* s( v# y& A
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;}
  Y, t8 d# s8 t4 [</SCRIPT>
7 f/ j1 z+ ]6 o% w9 `' i+ j<SCRIPT LANGUAGE="javascript">
1 [0 I9 ?% t" ~; mfunction d (enc) {document.write(codeIt(key,enc));}8 c" `. q! A( ^; 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;}
, [& M, P( C: {$ H* s</SCRIPT>
, T7 R; i8 E) M<SCRIPT LANGUAGE="javascript">' Q* Y' H* |) D3 B
Decode();
) ~: W9 Z' x' ]0 k</SCRIPT>- C& S8 X! \& {1 B) Q0 B
</BODY>! ^5 G- I! J. ?* Q5 n
</HTML>
7 Y: Q7 O: p7 n" h& e9 _
9 _7 D$ i. K' {) f  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:! ~& n( e! ^- B6 D

6 e0 U/ c0 M, a+ h2 C* z+ ~<HTML>" n- u" `3 [4 ]  D) a4 s; ~/ c: t% @* i
<BODY>" O/ \3 M+ V, Q
<SCRIPT LANGUAGE="javascript">4 @: Z+ M' {2 o: ]0 g5 a/ v2 x
function Decode() {# Y& i% [2 q5 s; Z
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;}1 O3 Y0 M$ O7 C( b
</SCRIPT>
* ^1 D$ d% ^+ q; t: g, f<SCRIPT LANGUAGE="javascript">
0 {1 S9 M0 P4 W. Bfunction d (enc) {alert(codeIt(key,enc));}
" N5 p3 h& E1 @" dvar 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;}; J$ R/ g3 d# A. f
</SCRIPT>
% a) L/ w3 j8 g& q7 j5 l2 I0 B<SCRIPT LANGUAGE="javascript">8 h0 }  S& n* h. {( u
Decode();
' q+ J6 V& [0 D% F) i5 ~" l</SCRIPT>  h0 a; r5 B* A& \- y% o
</BODY>
2 X! J6 ]/ q5 }* T0 {5 U</HTML>
- n8 Y* J1 [# m6 c2 j- y0 a/ ]9 U8 R
  哈哈!!:=)是不是很精彩!!

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