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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
2 j* `2 H* M9 Y( O8 g  D9 {0 t5 N9 B
9 V0 }6 E$ u; Z7 X
方法一:6 J! R; U- w/ N* z. \8 H+ Z; H

. x$ I9 V) M7 T! l1 D
9 E# Z5 [4 @+ o6 f, ~$ x2 K  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
+ a9 }, p' w# N5 N5 a
' u! v( W6 ]/ Z<HTML>( S; O; T+ p( K* ^! O5 Y' y
<SCRIPT LANGUAGE="javascript">
' W! l2 K/ R: q$ L9 \9 Y6 _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"
% |2 c8 f5 \5 G8 a0 j! T: K$ \8 avar NewWords;7 T8 e, J& C2 l9 y# [/ \
NewWords = unescape(Words);0 m/ Y/ y, k7 y
document.write(NewWords)
9 |. [/ h4 E1 F0 z: h& t</SCRIPT>+ `  k7 y2 i1 m% g7 {
<BODY>% W7 d; ^" ^. g, ]1 c* W; H' F
</BODY>: T) t& X8 T+ t% u( S; r3 q
</HTML>
5 p: C' R, P0 M# n  ?: ^. y8 ^. n
2 F6 g1 C  M8 u, m/ q  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:- B! W1 f1 l2 G1 U: |$ Q% |4 G

/ R. O" M# n- ]/ D: i<HTML><SCRIPT LANGUAGE="javascript">
! O2 F; Q+ F9 x7 K1 f& ~/ Yvar 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 j+ h1 ?4 ~) n3 }. V* Z3 ivar NewWords;" \7 q' r; X: I' K4 R' X0 e1 h
NewWords = unescape(Words);
. q! k2 W6 R7 O( e) nNewWords=NewWords.toString();
/ Q) l; l! j" ~; c4 i0 h6 u5 i; Qfunction password(){+ ]$ P! x" `4 ?; _5 [( v% J
document.pw.txtpw.value=NewWords;
  O% ~; M8 I, E. w}
4 k7 d) q6 U" s</SCRIPT>5 I+ D( ]' D; K/ f+ \9 q
<BODY>
5 |5 Z. W5 G4 H5 f: K; N<form name=pw>
$ S# d( e  d; t0 w% }4 C! u<input type=button onclick="password()" value="解密">7 B% x- s2 X- e! U' d
<br>
8 N' m; o2 r* m<textarea name="txtpw" cols="100" rows="100"></textarea>
5 p7 U/ Z! @$ p  p# ]) P* n</form>( r; ~% g; Q+ z. f3 P
</BODY>3 P+ I: r. y$ f- T+ b: L) `# p
</HTML>3 u; j: o. H! y/ x
. `; b; }9 s* I+ ^; K' {! U. J
方法二:+ b8 _& X5 B2 _
3 L. Q% ]# m' Q, P
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
) t( W2 X; u  ?& L" N+ ^6 h9 n8 h9 z0 c
<html><head><script>
4 N3 m5 D+ ?8 s$ }; }; `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 y0 M( d' ~; u; J) ~
var sJsCmds ="" +
& W2 z* a* p( U3 I, ~"?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" +( {8 ~8 K) z7 \5 i% A
"";
% O, j8 r6 y; `3 U% Mvar s= Carbosoft( sJsCmds);
, A0 \: e) O' c9 ]* V( F1 Bdocument.write (s);
; L' f% ]; B9 F+ z$ f  U( S0 C* L/ {</script>$ a) N: i' f, f
</head><body></body></html>5 L2 O2 w  V" ~$ b

( }  l5 p7 U/ u! O8 s  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:5 C4 ~5 |+ S( B
% Y  G' ?. ~8 m& J8 i
<script>
* g! W7 |& G/ G* j! g* ufunction 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 ); }+ w( ^/ H+ M/ l7 B# J! Q% X3 ~; O6 Y
var sJsCmds ="" +1 C5 w* ?7 @0 i& c' I* M. a
"?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" +8 r! A1 v2 ^& W) T
"";
' _& {% f) ~3 T  M5 Ovar s= Carbosoft( sJsCmds);
4 v& x; _# c+ @& o& e; n# {</script>
; J/ r- _) X) y2 r, S% f6 Z<form name=qq>8 q* e' M9 D1 x3 F0 j# T+ b
<textarea name=ww cols=100 rows=10></textarea>
/ O0 h1 Z; n, l" @<input onclick='ww.value=s' type=button value="解密">
3 I6 D3 _) i9 b  ]% k+ {</form>2 s# u$ J  j! v- ]
+ p" `! I$ E* m  U5 W
! T, |. v' f  r7 I7 n
方法三:4 A" x1 x: v& j$ e
% h) Q9 U7 H4 l
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
) _$ w+ q; V+ G5 F4 W' P+ Q: W) c" V' d8 S# e& J4 b3 R
<HTML>
6 `4 x+ r7 u8 [" ?% e<BODY>
. x. d/ @* M/ h1 e. X( t* G1 \<SCRIPT LANGUAGE="javascript"># d' F8 f; f" k- f4 ]0 Q
function Decode() {+ d& w7 i) w4 _+ y8 P3 l
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;}
- E/ H, y7 Q6 X/ O5 _% l( `" ^9 P</SCRIPT>
# n8 e' P* u* a* {" M* N9 M- X<SCRIPT LANGUAGE="javascript">) r9 G$ }0 N) K' Q; N4 G
function d (enc) {document.write(codeIt(key,enc));}& [$ i& U1 ~4 B+ ~$ m
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;}9 n' C: r4 s( D& _
</SCRIPT>' m6 q" b3 z+ |. c0 u- p# I$ P
<SCRIPT LANGUAGE="javascript">
) z/ Q+ K' G+ `$ q/ R* O" q) yDecode();
7 y. f3 H  s0 E1 s% N5 T</SCRIPT>
' V1 u. M' q+ U, u+ ^3 B. ?4 \: L</BODY>' E6 v8 {( ~4 ~* S0 {
</HTML>0 L. M0 O" `  p+ j& c: w. q
8 V) s* @& T# V) P/ e1 {
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:' S9 V0 _& Y& Z+ C& B# C
" q8 T" }! L. O, b1 v8 i
<HTML>1 D$ ]& r2 X/ T0 F/ v
<BODY>
( ]. @- P2 B( y! G+ Z<SCRIPT LANGUAGE="javascript">
( ~* D* D$ P1 ~0 sfunction Decode() {7 ]8 B. T( Q9 B: P7 f7 c$ Y
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;}
; t0 `' m; h& x; I% e- M- I) l</SCRIPT>8 J# Q8 W6 D8 Y5 Y
<SCRIPT LANGUAGE="javascript">" _9 t; K. |$ v/ X7 I5 s. _8 J4 C
function d (enc) {alert(codeIt(key,enc));}
' {" E( N" B4 }6 u0 l! evar 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;}7 _/ Z+ y  i; K
</SCRIPT>
. O% ^. V9 [" l  u% @# Z<SCRIPT LANGUAGE="javascript">
4 N$ r. K) ~9 g: ~  ^( [* q3 J$ HDecode();9 r4 ^( p( k- S/ S0 C
</SCRIPT>
) z) l, A/ ^% P3 Z! o" n</BODY>
& ~8 A- w) |& Y3 }0 Z</HTML>) U  `7 k* f0 F$ D$ O1 Y
. r; F; i) L2 B7 E' t+ Z
  哈哈!!:=)是不是很精彩!!

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