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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
2 T5 q" K$ A' n$ B+ }3 H' a+ _8 a5 X/ Q8 o# |8 @) i, F
  P# y6 W/ H" ^9 y% ~
方法一:) u5 S4 O& I: {% W# x

  A. _3 Q' k9 L: ~1 n$ n, b
0 E( S. p( @/ ^) `  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:: U1 P4 l2 ]# C3 y8 m8 u

1 p% H# K/ i% ]! f, n% d- r<HTML>3 d1 g/ x7 \0 t; S/ e' v9 e( q) z
<SCRIPT LANGUAGE="javascript">
5 M! W( Y; n4 {7 d  p7 K1 uvar 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"7 t) T+ P: l+ M- R0 f% E
var NewWords;8 s  v' p$ T  {% D4 A- g
NewWords = unescape(Words);: ^7 @0 A: @3 s- H
document.write(NewWords)
+ @: _! m! j; E. X* ~</SCRIPT>
5 S! C2 o& _, f<BODY>( k! ?  u6 B. D! g
</BODY>
, X5 G9 }6 [) r( A6 O</HTML>
( y8 V+ Y9 z2 a; f1 Q" y7 _3 P8 U  _" C" j+ O
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
3 V: E/ i+ `; v1 |& E
" w7 @  D, \6 ?- L$ X, f<HTML><SCRIPT LANGUAGE="javascript">) Q$ p( u  l+ f: }9 S- S1 k" 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"
. H  m$ N8 ^/ x" Nvar NewWords;; s  E# e! h0 Y' Q- m. q
NewWords = unescape(Words);! h6 X9 R/ t# y
NewWords=NewWords.toString();" O1 O( c& B1 B0 w1 ^2 X
function password(){! b+ I' g) @/ B1 C: I
document.pw.txtpw.value=NewWords;
5 A$ L, @0 r8 W  H}7 E5 W. E4 E" c, W: M( i' v1 ~" [: _
</SCRIPT>
+ @7 P& K, Q  f<BODY>0 r: a( F2 p/ X
<form name=pw>4 Z: m8 v( e. B" m, l3 `
<input type=button onclick="password()" value="解密">
" T0 j5 g' @! G2 _. `/ S<br>
( y; E' z" {7 c+ z<textarea name="txtpw" cols="100" rows="100"></textarea>3 Y$ Q9 d, t, j: k9 Q/ F
</form>" \! V. i0 S# D/ C6 y' {/ U" g+ c. z* [
</BODY>% i* ]; _" _; w3 k5 N" X
</HTML>
6 W* ~, j/ n. ~: b- t8 o
! ]% h! s- {: o' ~; u方法二:
$ E5 T  a4 \6 H: k- O3 ^. N* P9 ^' i& }6 N
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
; |- Y! J. o8 Z* S- A' Z. \8 L" s( ~2 e# r3 ^, }* M% y! Z
<html><head><script>
+ K; s: r+ D9 T+ Jfunction 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 ); }9 y+ r/ |  _) v2 I! e  |( w
var sJsCmds ="" +
) P! |+ K) ?+ [0 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 n  h& P" x1 h7 ]: F1 s% t4 N
"";: }/ W' i5 G. i! R4 \
var s= Carbosoft( sJsCmds);
4 G' C+ D: r5 n) t3 L& Tdocument.write (s);
; K  N7 @$ i5 U3 j1 d</script>" q8 d4 T$ B+ f1 g
</head><body></body></html>
3 z1 M; o3 o9 U" [
4 E/ p$ i# f) u: v2 [0 i  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:4 L% J  C2 r( L% u* _
# L. P+ z  A0 ~% @
<script>6 i' s1 x' B$ }; [9 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 ); }
( \' p% k4 p, B" ivar sJsCmds ="" +7 r9 b  ~7 i7 }" h6 F! E
"?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" +
& O6 q& h, n4 X5 B6 X4 l"";" c- I8 ^3 q) i1 H
var s= Carbosoft( sJsCmds);
# P% c: }/ X' R; ]# L6 I+ T</script>
# h2 n8 A) J! c<form name=qq>
- m; B2 S& B% @; o. d<textarea name=ww cols=100 rows=10></textarea>- x9 P' F8 {4 A( ]4 ?$ D& B& b$ [
<input onclick='ww.value=s' type=button value="解密">
- _2 k; |! D, \( U</form>
) e0 O4 o! B6 s; Q! w" V- D; ^9 N- J) p- g+ G: L' \) r

) o6 h% H  `1 R6 K方法三:. x# F# L* L! f3 ?7 G

( i2 B# ^  H  X  l4 y( h  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:' ]5 ^4 o9 Z! {$ Z6 Y2 V0 v6 G
& u3 ]; @) T5 F' W& e5 A  W
<HTML>8 F" i  B) u% c5 F: y4 y
<BODY>
1 r$ e2 P/ X8 ?, }  l<SCRIPT LANGUAGE="javascript">
0 ?9 [+ }' u5 z. _function Decode() {8 B9 y" c; j% u. h; J8 H
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;}
' I+ \+ c! I5 w+ J</SCRIPT>6 {  ]# {. z6 z# u
<SCRIPT LANGUAGE="javascript"># k: ^/ C: @& E5 P1 e
function d (enc) {document.write(codeIt(key,enc));}
8 }0 b  a4 s% b* B+ tvar 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;}" i9 n- e. I+ T- ~( v
</SCRIPT>3 W$ ^' g, V, }8 s
<SCRIPT LANGUAGE="javascript">
+ A3 B! ^, m( C) _7 v4 oDecode();
" ^- ^. s/ s0 h* D- i% |</SCRIPT>
$ _2 F7 C7 R: R* ^1 {9 E5 ^</BODY>
2 j6 g* Y3 L: j6 q4 t! b8 ?</HTML>
; W9 T, v% S$ S2 ^9 ?: I. q* u1 t0 c7 W- X9 }& c
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
' Z0 L7 f% j8 u8 d2 g) W( K$ g5 j9 _% M
<HTML>5 K# ?7 d9 ~) e8 Z
<BODY>7 E1 C: r% Z6 d0 o
<SCRIPT LANGUAGE="javascript">( S' P: b7 _8 x
function Decode() {
# b1 f; o# d6 u" W4 {  @% qd("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;}( B3 H$ x; O( j$ d; y
</SCRIPT>
* G+ a) y# m* K<SCRIPT LANGUAGE="javascript"># [* e( k. X4 e* m5 z
function d (enc) {alert(codeIt(key,enc));}
+ ^8 K. C3 Q' p0 L  j' Avar 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 Y1 u$ [! u/ \; G+ V' l0 D3 M</SCRIPT>
# F" t$ r' a/ N- z1 h<SCRIPT LANGUAGE="javascript">/ c/ H$ F3 Y) P
Decode();
0 ?: p! p4 E6 h/ H- K+ j</SCRIPT>
' C/ x2 ?6 M6 t$ b8 @8 N</BODY>
( [3 a# n0 s6 f4 O</HTML>
* D( m! c" {$ ]) B. r
# {/ _% }$ G2 l' g3 \8 A, R* S0 M  哈哈!!:=)是不是很精彩!!

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