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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!: ^( R0 w" }: P6 ?+ G- z) U
2 b5 g* q1 N9 `$ D4 T
- A. J6 k9 N$ L' H: l% \
方法一:; ]6 ]+ m0 K% I) w5 b& d  d
  V) U& i6 l, `; c- g; F% b( M

! M# v. W' H8 i+ @/ [  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:8 d+ d" K; j4 {% ^' X/ O
+ {3 I- ~& F3 J
<HTML>
7 ~( _# A7 G3 E: w( ]<SCRIPT LANGUAGE="javascript">% m; ?% c! P% B1 ]" J/ k$ P
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"$ q9 U4 g( W# a1 i4 b$ Q
var NewWords;
: O: B) @- \: H: x; r2 i6 vNewWords = unescape(Words);( k- V) O, z) {* |
document.write(NewWords). J# K  \& d0 H' A% H: F% W  G
</SCRIPT>
7 ~- |! R0 y6 q# U! q<BODY>
) f, V* J6 t5 l  `</BODY>
' q' E" G( R8 c6 ?</HTML>& y+ [) Y! D. h/ F
- j3 R- x) b# q0 u6 z. _5 P
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
+ ]" R9 M9 `1 j1 r! n, G. e# }$ D8 c
2 @1 f! y& c, _* J4 D<HTML><SCRIPT LANGUAGE="javascript">1 W( |! w. u! @- N% T+ y
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"
. V7 F1 k7 W- j/ S7 @. Rvar NewWords;
; K; U: c0 b2 o& J" a9 n4 A4 jNewWords = unescape(Words);- c* v- F: _# Y+ ~' u
NewWords=NewWords.toString();
7 j' Q7 m1 A# L) D  Q7 K" Kfunction password(){
% f: t9 ^  s  ~2 P1 sdocument.pw.txtpw.value=NewWords;  X) g- _, N( }8 h$ K$ d
}
" n8 `4 ^9 W% z4 F</SCRIPT>- I6 H# Q, ?" F6 G' D0 Y6 d5 ^
<BODY>9 J& _" N( e% b/ F5 @
<form name=pw>
1 ~8 D4 j4 r1 v6 S7 Z# `<input type=button onclick="password()" value="解密">
, l; I& t. s1 i* U3 e4 I3 {9 c5 l<br>( d/ r' r, E$ n6 b. u& h. L
<textarea name="txtpw" cols="100" rows="100"></textarea># l- K3 r3 U- q. E
</form>
' o5 q( k8 H. ?- U8 f</BODY>8 J+ G8 z0 V- I9 C. t& n; z  r
</HTML>8 L/ ~* T" T) q* y$ }/ n1 ]6 z

- p1 T$ }; T9 C9 _/ \9 t( ~方法二:
% n7 A! X$ z. b& E. g3 f4 j/ I, O- o7 G! ~+ b/ b
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
! K: _/ m) N3 X0 I4 k. \) H/ c4 {8 H; v% S
<html><head><script>. B: L4 b; u+ X1 G) m1 J
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 ); }
9 V+ Z9 `- Z) ~" t3 jvar sJsCmds ="" +
6 O# v. ?8 }( C8 S- ^, Z! k3 @"?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" +
* b8 _# h) B( o& G"";
- P' C- D3 X- ^5 @. J# Y) _5 ^var s= Carbosoft( sJsCmds);
% w$ P; {: k- J- ^8 t- R4 B2 vdocument.write (s);( m9 I6 Z& |8 ]) x
</script>6 D* ^) ^) r9 [: H( Z* {2 m/ T
</head><body></body></html>
* O( M8 Z2 p& ]2 ~
$ y$ b; n7 L8 l+ k  C3 `  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
# E* w# z3 u, L* W. {+ V" t2 W1 p7 I3 U
<script>3 q6 X" P( E. `6 R- J
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 ); }7 ^! ?  Z- i, y- o7 J2 E& ~$ W. _
var sJsCmds ="" +! b6 R$ }& F& H' A) z9 N# g
"?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" +- f2 n& k; n1 y' W7 L
"";
  b) H& T: U! P& [' v* e" evar s= Carbosoft( sJsCmds);
; N2 Q: I. N: _$ c1 R" X5 W</script>
) d& j. o7 q3 l3 [6 y+ z# R<form name=qq>* Q# }# \; s* [' T( x- r1 t
<textarea name=ww cols=100 rows=10></textarea>
. E1 B& Y2 }/ g" ~. Y! J<input onclick='ww.value=s' type=button value="解密">
- |2 _( p' `' K* i( o</form>
, i( W3 K/ e* v2 x8 h7 z2 n+ C' V2 ]) w' E
/ _* R( _8 |  A
方法三:
* N) {- w4 K* ~% Z' X; {- c% I; V, ^# e- M; x
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:, t; ~, e- g, L. |( {0 ?7 i

. R& L/ U6 N# F3 F& |. v( |  y" M<HTML>
5 y  `; C0 y7 O3 Z. S! {. D<BODY>$ ]& W, q$ B# T' i& [6 ~% @
<SCRIPT LANGUAGE="javascript">
0 @, U# n( H7 J$ E0 h6 Ofunction Decode() {# t+ |: ?: 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;}8 B% z6 k- n, P. A3 j2 V! l
</SCRIPT>
, o5 d$ {* }0 v( h" |& X9 b<SCRIPT LANGUAGE="javascript">
3 n+ A- Z! c4 N" s+ B2 u# Q2 Ufunction d (enc) {document.write(codeIt(key,enc));}* F; e, K# n* s8 [& R4 i  Y/ |, L
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;}
4 w! f) o  a. c</SCRIPT>6 j8 O  x2 Z; G: j) \: N; a
<SCRIPT LANGUAGE="javascript">0 j+ U$ V) L+ }) k& @4 S2 a% }
Decode();
2 x7 ^( f# S# n* ~- |# N% T</SCRIPT>
; o; |+ y" }+ S/ W8 ~" A  a</BODY>
- Z  C* N8 T: L) o2 P2 [</HTML>
% w' R* h" s* e, ?  a! B
' d, i0 e" d/ X) R$ q$ J! Q  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:' k; `2 G- E( U
% T$ ?% A- c5 ~, q5 |1 d3 L
<HTML>( a0 ?2 h/ I! F/ ^' y
<BODY>
' z; B0 ]& \. r; q5 p% o<SCRIPT LANGUAGE="javascript">
2 a  k5 g5 _& F) Dfunction Decode() {
4 i" k$ X  j) j+ 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;}
2 q- G2 e: N$ C& M6 U4 z</SCRIPT>3 G: {0 T3 k- G
<SCRIPT LANGUAGE="javascript">
. Y3 B/ v% @  `8 ifunction d (enc) {alert(codeIt(key,enc));}
, O3 R5 |7 V3 Q" S- g* _& |2 x; p% t( ~, ?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;}# y# q3 [& D3 A9 A+ j8 m9 D! h0 M
</SCRIPT>$ P0 h/ |* ~- E! c5 j! n( o
<SCRIPT LANGUAGE="javascript">
# l+ i' o3 J# B* E. jDecode();
5 \# o5 D9 ~; ~( U2 Z1 K; k</SCRIPT>
( r+ l1 [( d0 i/ |/ R0 r1 {! Q</BODY>
! X$ I2 w+ B& K7 R7 a( G</HTML>+ S) f  z3 p* q" E4 |4 [. z. P

1 P% E1 _3 s0 G  u0 b  哈哈!!:=)是不是很精彩!!

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