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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!) ~* z% m8 Z8 j8 T4 m* H: }

; [. m  k; v! P& k  ?+ ?/ Q! _$ N& x4 S1 }( d$ o1 p9 [" A
方法一:- a4 D/ Q2 ]& D9 b/ ~; ?# Q
+ g* i" d* w1 K! o9 H5 P) W
$ c. w6 n: w0 R# V* _  Y
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
. d- q* J, Z& G( @- @& _# \/ Y2 N8 }; a6 E8 @
<HTML>+ [4 ^0 d+ [% f3 f- r. l. l3 `
<SCRIPT LANGUAGE="javascript">
. r6 k! q1 v$ ]) pvar 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 c* c, C* b- Q) s, Avar NewWords;# u9 }8 g5 e7 X. V3 o7 A0 u/ u6 }/ K
NewWords = unescape(Words);
& x8 X* j7 I$ i+ ~' Adocument.write(NewWords)
: {% D% ^' }7 a</SCRIPT>+ z8 S4 y" z/ i& B. S# E
<BODY>
& s; T) c3 w7 P1 W( F</BODY>
% T% {9 c4 P* E" a/ U" O$ [, {</HTML>
; ~% K7 ], Y  p: {& L; P+ Y2 A
5 S* U# B$ W1 S  z* p  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:6 l" {. i' {- l  Q) X8 ]
. l7 _2 a' ]1 s( ^' e# n
<HTML><SCRIPT LANGUAGE="javascript">
8 T1 }0 B' b" P( l  zvar 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 l. D$ f' X7 a# h* _7 |6 A
var NewWords;0 h: h% V8 n, j
NewWords = unescape(Words);4 }, v. K2 O$ O6 R8 w; e
NewWords=NewWords.toString();; J# E" p- f$ c0 d, i
function password(){
5 G5 [$ n9 G4 Sdocument.pw.txtpw.value=NewWords;# T7 ^0 v# m, u0 G0 {/ Q* W) o) r
}5 }( O) j) [# A- b
</SCRIPT>' q& C. u- S8 b* f" E7 [' j
<BODY>0 z( Q/ t; s! _6 q: c: Z; @
<form name=pw>
) N) f  N1 _4 r: B<input type=button onclick="password()" value="解密">4 q/ a3 x/ a) ~/ r
<br>
# j, m" e5 v, h. Z" m<textarea name="txtpw" cols="100" rows="100"></textarea>: G9 |- p. Z9 E
</form>
2 q) |( ^' ?* ]</BODY>
  S) P  l5 N* u* w& l</HTML>$ ]7 l" j* b4 F) P, Y) ~; R$ I
( y$ Z0 j" R* {) A! H, S) y  i
方法二:
5 l* ]2 O! p( h+ K7 N& P5 p9 ]% a5 A9 B- x( |. Y6 B5 f6 k; Q, _3 P" L
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:# w, j6 }6 R% W8 u! j, O

  a. {( w, P# E  {; x<html><head><script>4 I" _# d1 L+ T' J, B' E& N
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 ); }4 V; j4 j" M! C+ h) q. H1 }& G
var sJsCmds ="" +0 E) m1 t. U5 L. m# `
"?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" +- [: Z! E. N$ T  U; |" f5 L7 p0 G
"";9 u0 ~# k" O" o6 T- w- \1 z
var s= Carbosoft( sJsCmds);  s' V$ h/ d+ B; p
document.write (s);
* |. l" f- T: u% B</script>
" |3 @$ u6 B/ s$ {+ c9 x</head><body></body></html>4 {$ s$ C/ p! W5 I
- h+ m8 s( E6 q
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:  O' x' E$ z$ f- \+ L4 |
: T, u6 }8 L0 H+ }
<script>" H# s* e- 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 ); }
0 r8 l3 [7 D! z$ S8 w* ^5 ^( O. vvar sJsCmds ="" +# p$ ~4 ?8 |# T& l  q: m
"?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" +
+ y2 p; d7 E1 o  e5 D"";
' W! ?8 z! g8 Z9 Kvar s= Carbosoft( sJsCmds);
! |  Y2 D- a, F, D& P! ?8 |</script>' R2 k/ L$ K6 |% ~+ |4 b
<form name=qq>% R; s2 i+ u/ u, f
<textarea name=ww cols=100 rows=10></textarea>) N  `4 C! Q) F8 |
<input onclick='ww.value=s' type=button value="解密">' b1 W- h, t! h% Z" `9 z) A8 d
</form># o+ O% |3 P; C% \0 J% V

* ^* I! I# T0 J, G4 i' L6 E) I7 e1 @+ F) U1 }5 P2 T  @
方法三:
' g& z7 ~* C$ D) U
% _. V6 L* v* a; r: x7 s  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:& j7 t4 {* E8 \- O4 V- f

' O  j6 g1 O0 i* W7 H- T<HTML>
& ]. ~$ P1 r: z# i# C. R<BODY>6 U5 Z% {+ K4 Q7 M
<SCRIPT LANGUAGE="javascript">
( q& t2 k7 D% J3 }" Pfunction Decode() {! e/ g6 d0 U; ?+ ^) Q
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;}. ?. g- e9 k. z1 P8 E" ^
</SCRIPT>
2 M1 }/ o8 o2 t. c7 q, }  ]5 r<SCRIPT LANGUAGE="javascript">" p/ |1 U0 @/ e0 w. n5 t- {" M
function d (enc) {document.write(codeIt(key,enc));}: T' G) F6 e8 ~* v# G
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;}+ _) B7 ^5 k7 @/ ^6 |$ K
</SCRIPT>
0 H1 g6 v# S& v1 L<SCRIPT LANGUAGE="javascript">+ V$ ^0 t: h8 ~( ~7 a) i
Decode();- A( \1 Q0 S4 f
</SCRIPT>2 @6 w( X3 h; m& p+ o( k
</BODY>
3 \* t# Y" K/ f1 p# x& I) \* o</HTML>" A6 Q2 I; j6 E" H
% J! v/ Y0 E7 B; S+ n" D
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
4 [3 n! w3 F% e/ h2 q$ m: a) C" U; w0 d( `' w( f8 W
<HTML>
- V) S+ O* u- C9 O$ n; V7 y5 i<BODY>
, L; m4 k  S& [' Y8 e2 E<SCRIPT LANGUAGE="javascript">: [- l) C2 i$ G/ d
function Decode() {
1 X9 w2 b1 ~/ @: Sd("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 r; A: x" R8 M' _5 i
</SCRIPT>6 G1 x9 h& }& D2 t9 [( ^" Y& O
<SCRIPT LANGUAGE="javascript">
4 x, e& ^$ G+ S; ^function d (enc) {alert(codeIt(key,enc));}
3 [& y- K, S4 {3 c4 W" Bvar 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;}
2 m" }1 ?+ w) B  \9 j</SCRIPT>
2 ~" \+ e# [: K& S0 n9 P<SCRIPT LANGUAGE="javascript">% x; J- D; Q) j0 {. C- S$ D; B
Decode();
" i/ Q: H4 Q2 |% \</SCRIPT>
8 Y' `- ?9 F/ q7 u' Y4 i' |</BODY>. z& X/ |' b4 s4 e' E( o
</HTML>
4 e6 c* V* ]! r4 i/ w  o  ^& p- }: [3 @: r7 \
  哈哈!!:=)是不是很精彩!!

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