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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
( C# M0 q1 n1 b* E& A# o& n& \
3 s1 K& [2 A0 n# Q- v) o
( p+ n2 j8 ]0 P( g$ m方法一:8 k2 H- y4 z1 k& O
5 ]! x% x7 e6 v2 ]; P

9 f0 n8 Z# k- O$ G  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:2 Q( T& m( ^% u1 ~6 l2 t

; G1 s1 L% a9 Y& u! e9 W<HTML>
8 ?. T( O# @) C6 a, G. ?<SCRIPT LANGUAGE="javascript">$ u# |3 m+ ~7 ~5 w* P- b
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"
4 J" W  y( A5 z8 k! v5 F; gvar NewWords;! q7 L' p+ \+ y! F* j. O/ q% d
NewWords = unescape(Words);( H4 ^3 p( |' o, ^+ G! g0 [
document.write(NewWords)! d$ X- B. M" X3 S  P% {1 ~
</SCRIPT>
* n/ q0 v6 w9 O& T1 B( {<BODY>' O& a" G9 b; }& }, L5 |/ j
</BODY>
8 X/ z' i0 a3 D$ S7 A</HTML>
$ l  }6 [, ]3 V0 ~) X8 {
* q1 i! B6 a; t/ p' B2 n! C/ Q  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:4 w2 y) x* v2 {+ b, o

/ m1 M( T5 p8 L; I  a<HTML><SCRIPT LANGUAGE="javascript">
4 r& v1 g+ f9 \* Vvar 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 D  ~3 u7 j6 I8 B
var NewWords;8 b9 J: A! z  N
NewWords = unescape(Words);
9 _$ R) o7 ]  W1 E; I8 N8 u9 ^" NNewWords=NewWords.toString();
( C, V* e* E( b+ q6 k% Sfunction password(){5 H; V. W/ r$ Z9 x0 o2 n1 D  `
document.pw.txtpw.value=NewWords;: \) M5 o1 ?7 w, j' h. F
}
, v3 k8 [1 o' r9 V5 l. S</SCRIPT>2 l! ]( q- n9 O% t" d- [1 M
<BODY>
3 K4 Q6 d0 Z5 @' y/ \" T<form name=pw>/ A0 i; l6 [4 J% _" I0 W6 O
<input type=button onclick="password()" value="解密">& J# g" s7 z5 A1 D- A4 i: R) M, D8 J
<br>( \3 J( j9 i6 O: W& P/ Z+ L& t
<textarea name="txtpw" cols="100" rows="100"></textarea>
; ~* O( |! n4 i' A" F5 n# c% `" K" d</form>
( u% \. i  ?5 Y6 f4 Y! x# r7 g  E$ G+ L' G</BODY>
8 q1 h$ r' s. r1 l  l' J; }</HTML>5 Z. r: h" d* I. C, Q  x

' z$ f( [7 E1 O+ V" z+ V方法二:
$ k! {) E7 C, r0 F  d9 X8 R: q/ y- R
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:5 r9 p. J( x9 B: y4 l; Y
% s) @, a4 x1 f* Z: E  Y7 T  o) i
<html><head><script>
8 d8 [& W/ p3 a# d) cfunction 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 w6 u8 x/ p0 h. _$ o# G0 [var sJsCmds ="" +
: b# v  A8 Z) k0 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" +4 H1 J. M$ h& ^+ i5 s$ S
"";5 }/ _; i& C3 [' K/ S
var s= Carbosoft( sJsCmds);+ l- K. F* l- ^0 J4 f3 }
document.write (s);& P4 y( Z. i1 C. b' [" H/ J# ?! g
</script>
0 e7 t' Q/ m, ^0 B' C</head><body></body></html>9 d0 Q9 A' d  ?3 K$ S
* m- G6 U( I% n( F! X
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
, F* ?5 y8 B" D6 G
6 Q5 k" a- S) f$ ^  l<script>' e% f  b2 X/ I0 c- M$ N: f
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 ); }6 b" a2 U* t. H1 A
var sJsCmds ="" +3 Y( x. ~2 B  Z
"?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 h: e( Y7 c5 g5 w
"";
/ K9 `% M0 G& ?5 o1 d8 o  ?var s= Carbosoft( sJsCmds);4 u% p& M! {2 Z% r2 M, h
</script>
; r& p2 D5 B- P4 h  u<form name=qq>! c- M) b3 L" N1 P5 a
<textarea name=ww cols=100 rows=10></textarea>( x/ n8 T. s1 G8 `9 a
<input onclick='ww.value=s' type=button value="解密">
' |9 m( b# a. F2 ^/ M8 H2 d</form>, w7 ]* G. w. ^% n
) i' C( b7 i% ~1 L6 d
: r/ O$ j% e0 Q3 [% u
方法三:
0 R# Z0 g$ x+ i9 _/ ~' @/ h! _  {. G; A0 b+ R& r6 K
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:1 ]- C5 V. T3 d2 n, p5 o

5 N5 ^8 ?2 ]( O: J<HTML>/ M8 J. q: y4 H# L5 m/ M$ b
<BODY>) s1 ~+ p" P8 O5 ~+ E$ K% J" K
<SCRIPT LANGUAGE="javascript">
4 W! T& ~/ o: lfunction Decode() {9 N/ d8 d' p5 j
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;}
. n4 t; v: h) X5 }4 a% j8 y; K</SCRIPT>
9 J  k. {  k+ t<SCRIPT LANGUAGE="javascript">
) @3 w- P5 H- Z+ B  P, a+ ]7 y/ ]  ]; Pfunction d (enc) {document.write(codeIt(key,enc));}9 D$ S5 E8 R% ^" v" s
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;}
6 ~& w( ?& e  L  q</SCRIPT>" j' h( {6 F! [/ I1 `
<SCRIPT LANGUAGE="javascript">9 j; _* j2 T/ T8 p: q5 A+ s% @8 f
Decode();8 I6 t  U) V9 |% M2 E: `6 P
</SCRIPT>
1 E% c; B8 z+ N  Z</BODY>) u+ L: n% s2 o0 g2 o  n& t
</HTML>
& Z4 K$ e2 ^* z- D4 Y
: J" m% I* s( K9 b0 c+ Y  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
8 G; D  p9 q$ z. L
# L" f8 a8 r+ v* B<HTML>
) L) e, E7 [/ D$ ?<BODY>
  _! X( h7 x4 C8 F& ~<SCRIPT LANGUAGE="javascript">
$ U& p$ {1 v, f6 ]7 m+ Kfunction Decode() {. K2 A& I+ X3 d& |& j6 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;}" _# f+ K' n$ @+ [
</SCRIPT>
# F9 N/ R4 w- v* X" s<SCRIPT LANGUAGE="javascript">
& p- Z( L; j+ J7 {function d (enc) {alert(codeIt(key,enc));}/ D7 _  J# g! ~) \) b/ I
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;}6 k4 b5 y: O/ n+ n  I$ s7 q
</SCRIPT>
/ l0 R# x, {5 r6 O- x) y* C<SCRIPT LANGUAGE="javascript">
" L' Z( [, z' wDecode();
# u2 x" v. K5 P3 ]# t3 H</SCRIPT>1 B( l, w6 z3 S5 |
</BODY>( K5 U' [: V1 a) W0 K
</HTML>
4 D7 H# k" a5 \. z1 r1 B6 X7 C. l# `8 F+ u/ g; h7 w
  哈哈!!:=)是不是很精彩!!

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