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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!. p7 U5 h& M, D( t7 R

0 l/ j! h1 K8 `+ z' ^9 P9 r3 V1 _
2 A2 Q; J: q, Y: c2 s# e方法一:2 T* R9 s. W2 G8 l9 }
# ~8 p+ X" n+ u9 O& E) K# G' f
2 S! O, V4 y; y/ r& p" t$ ?0 G
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
( [+ d% A% U1 F1 J+ h4 K" G( \" w9 t6 Y# l! E4 N6 Z
<HTML>
9 W- B% F4 m0 V$ }0 ?<SCRIPT LANGUAGE="javascript">" a/ |/ r! n. p8 X& N
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"9 ?' l) n% a) i! m& V/ s0 h
var NewWords;
2 R* P' X! n' M# D2 `; qNewWords = unescape(Words);
3 m# B* }$ U% ^) X" ^document.write(NewWords)
% P3 o4 I+ L) o7 k- \</SCRIPT>
, m6 x+ R1 N4 r0 R' c4 p  b<BODY>! [3 T2 a% P6 l6 A' q: C' G4 U; }  F/ N
</BODY>
( M- r; A" c/ ?0 [& M9 R</HTML>' Z# h6 f0 r" @. F& ~# M- E
- m1 y: m* p( B3 R
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:2 j) \' l- N' [+ n8 x2 [

) A% l% b: E# N0 c<HTML><SCRIPT LANGUAGE="javascript">
1 T0 b% c# z, F$ Y7 g8 J) bvar 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"
% S# ?# @9 M. G8 Q0 a2 G# Jvar NewWords;
7 t% x$ l% U: d6 i4 G% D' w. uNewWords = unescape(Words);3 k# ]/ w* I* W
NewWords=NewWords.toString();
3 ^/ B( k5 ~% W  C2 e; c  D3 q; Kfunction password(){
5 Q% I4 N  I" k+ Z0 Sdocument.pw.txtpw.value=NewWords;
6 p7 O2 E! m: x+ T7 Q2 j}3 |! d7 Y5 T4 F+ j5 k- B+ R
</SCRIPT>
( \5 [* B. n" G; R; p6 n4 C8 ~<BODY>
8 P$ |, z( U: {+ K4 b& i! p$ S<form name=pw>
; B% o) ]& `% F8 D/ `<input type=button onclick="password()" value="解密">5 E& h1 n1 [9 D; O
<br>
$ Q2 z8 q( r5 P. ~3 Q0 o( F<textarea name="txtpw" cols="100" rows="100"></textarea>
% f- T, ~5 Y* p/ b' a( G</form>
$ D" r$ }% k0 F% ^</BODY>  [. V( G! X8 N: Z, h8 o. Q
</HTML>
9 a, @$ Y  G( f5 c
9 ~  P6 W# h5 i. @0 p8 c* R" s0 T方法二:
: Z4 u$ s9 {9 p7 Z- k% X
- a- ~, ~, o4 v7 j# r  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:% o8 m: D# F. T8 x

) [  k/ C" M2 A  q- j<html><head><script>
5 O5 c  Q( E5 tfunction 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 ); }
1 n# K( b/ O5 z) U. O) H7 M8 b/ B. rvar sJsCmds ="" +" L+ D( t, ?5 q6 d$ ?+ Y$ 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" +
, J' B5 X1 v. ?; L"";. w4 `5 c8 \# B9 b8 U) i
var s= Carbosoft( sJsCmds);$ }( ]! D: d/ m! N% e+ ]
document.write (s);
2 z/ j' z2 F  n: _) b$ ]8 r</script>. E9 r8 B6 J. y0 h( [
</head><body></body></html>
) u/ }, ^% b$ q2 a; X% t4 O& r' K
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
  d4 I8 R. }1 Z
& N! Q# H3 {3 x5 s<script>
4 n4 l' i- w8 q6 S- f- \, s0 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 \) a4 [" ~% @1 B0 wvar sJsCmds ="" +
& f: `, 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" +
, h6 V9 ?% q$ ?1 \6 {"";4 K) H% l( s+ `* j# q% ?
var s= Carbosoft( sJsCmds);
; Z- U+ M  d3 I* `</script>
6 p4 o. i, N0 r6 }0 `% o. r' B, h! A<form name=qq>
  a  u  M9 V4 G2 E: O8 Q7 c<textarea name=ww cols=100 rows=10></textarea>4 M+ e5 Y: H7 \
<input onclick='ww.value=s' type=button value="解密">
9 `3 D+ S2 b8 m- m- P% ^- N- L( w</form># l: t2 D& `8 `. q! G: N) y- J( S

- E" L& h+ e8 h. |; t0 E& z2 y' o
方法三:
, z/ m% ]( r& i, d
; Y' Z( D4 q2 ?  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
7 @6 e( K$ ^1 ^3 Z* L0 t. ~
, A3 ?. {5 i  v8 ~0 y<HTML>
) ^8 a/ P: Q4 u6 t<BODY>
" G7 m* |( d* C% l<SCRIPT LANGUAGE="javascript">6 ?# G" W; \; l
function Decode() {) \$ W, Q' y' B: F, }1 N
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;}. K! S" \, G- q
</SCRIPT>( h# }" `' Q$ j! a, G. d* [
<SCRIPT LANGUAGE="javascript">
% n3 T. b/ G' c6 l- Hfunction d (enc) {document.write(codeIt(key,enc));}
/ g/ Y9 ~. T5 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;}$ t' M- t- U: x
</SCRIPT>+ ]3 d) ]. U2 U) k, \2 |8 W" A
<SCRIPT LANGUAGE="javascript">4 w% E# _3 O/ d
Decode();
4 z% Y9 S; D; _0 g</SCRIPT>1 s  F  E) R6 }# I" S$ t, Y
</BODY>/ s3 z3 K1 e3 R, P/ _
</HTML>- z' w6 d. H  [7 v, P* ]7 A, O

& T5 y# u  D7 I: T+ k& I$ P3 _: f/ b' G  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
4 a2 p1 J8 X( T# p4 r
( s3 p" x' h( E5 V  ^( M' f% `<HTML>
% V) }# f# G' K! ]+ m2 T5 Y<BODY>
2 ?- ?/ J- T+ \6 F/ Q, ^- b<SCRIPT LANGUAGE="javascript">
% \% M& T% ?7 B8 F* F; |2 Qfunction Decode() {+ j+ i/ |$ j" l2 L5 C1 M8 |
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;}
4 J' u7 @2 w" |9 _, g: v</SCRIPT>
* n  g8 t3 W3 E- r<SCRIPT LANGUAGE="javascript">
- t4 E+ J- {+ Q  f9 ?function d (enc) {alert(codeIt(key,enc));}
  i( C, S3 ?2 {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;}( i% T- x' @+ q) b8 e
</SCRIPT>+ a$ C) f; {9 J
<SCRIPT LANGUAGE="javascript">
5 y* c" D8 P% j: t" e7 n; J  s0 FDecode();+ f8 Q* Z: V! U
</SCRIPT>) s8 J0 W# Z8 q( u" n7 o/ d' L" D
</BODY>* N. `3 U) k/ r6 Y# O8 E/ s
</HTML>
! V4 {. B' C; q( e( e
! B2 e6 g3 W! z  哈哈!!:=)是不是很精彩!!

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