返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!! h- u6 q' x+ ]" p) L  f+ Z  t7 K

- R, a/ u; N' U( Q8 A7 S7 E# q8 }9 W1 W/ b( K
方法一:" p$ C/ u. D& r5 t4 Z8 X+ R

! \, @* [% y+ d% X0 f6 ^7 R
0 o/ ?, i$ V3 b, B# l  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
& H9 }2 v$ C7 m2 X" }8 W5 n& F. N7 r' e9 x
<HTML>, i+ }5 r" M1 X: e
<SCRIPT LANGUAGE="javascript">
9 g& h1 b6 L# G/ h( n/ i1 h, q3 Nvar 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", v3 Q/ v/ Y. _2 R  x* c3 u, _
var NewWords;
% S) o" ~1 w: L) e% p- dNewWords = unescape(Words);
# f8 E! j1 R2 Y; ddocument.write(NewWords)) y3 t% a6 \" V) w6 {) R4 h: u' h
</SCRIPT>
5 F, |  h6 R* T8 I<BODY>& }. \6 C% R* }! M' ?  Y5 Z# {
</BODY>
% y& X/ B+ m/ I4 ^# U</HTML>3 c9 f: y6 _3 y% {8 q  \- A
8 s$ e0 U  V; @  x
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:7 i! Y8 s) }  C+ C  `# E* \  [2 E
  u: O3 r3 i' q8 @& E9 m+ ]: b
<HTML><SCRIPT LANGUAGE="javascript">3 U4 G1 E( R$ @/ I/ O8 X  y4 B" L; u& D4 `
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"/ \8 e- b$ U  ^$ `+ y) ^
var NewWords;5 p  B3 C" Y. r6 M& {# G
NewWords = unescape(Words);
" m/ I' U0 a6 m% m" h; JNewWords=NewWords.toString();
9 `  d7 h: r  l. r1 q6 A  K! kfunction password(){$ q( ]# z, t, {" W0 F8 ?
document.pw.txtpw.value=NewWords;$ V4 w2 m9 |( v. Y3 D
}
' f# q" B3 z. D/ L) A& r</SCRIPT>0 g2 {0 B( F* d! {+ K8 s
<BODY>
( _0 @. G- T# @! @; H' o3 C<form name=pw>
! Q- T% j) g7 h$ E4 x<input type=button onclick="password()" value="解密">8 ^& q+ j% V" m
<br>! ^" U: s/ M! V' b
<textarea name="txtpw" cols="100" rows="100"></textarea>- ^* ~2 i5 n5 d  H3 i+ S+ D
</form>
$ P7 O. Z. u# C  z5 f4 f</BODY>
7 L- ?8 Z; i- k, V' N6 ]8 m</HTML>
. R; f" v7 ^% q
! d& j6 B" y, W0 I; ]方法二:
3 {2 }& j) x# E. }  ^' N* t1 q9 o% L- ~# F0 L* T4 O
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
2 [- n) l+ m; N( X
2 B5 E. ^. t2 s3 ~" J  s+ C3 N<html><head><script>
9 J* g7 f) z2 Q( Y" s0 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 ); }! V( b# C! k* w
var sJsCmds ="" ++ V8 {# F3 t4 h6 P$ x4 M' N
"?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" +; t. \. y, r5 H8 s( K2 T' o, Q7 x
"";3 j: n: l5 J+ J8 l5 \
var s= Carbosoft( sJsCmds);
: r/ g- h# i& w7 Q0 hdocument.write (s);
9 C% ?# k9 R# v</script>& Y0 Z7 W9 v' k+ I$ [( G
</head><body></body></html>
! e$ |7 F3 _8 L4 t- W
5 b# u8 d) j0 B( y4 `  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
7 F3 D8 o: \: R7 T; j- ^2 G, Y6 V& ~2 Z4 K
<script>: K# L0 E$ g7 g  p0 U( N& 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 ); }
: ], }( J. r) L" m4 a- qvar sJsCmds ="" +; n$ ^/ ?, b9 _5 r- |! D$ J
"?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" +
+ D  A" @1 A0 `) q5 e' v( B* N/ `"";: S  F1 P+ |1 _: k) {
var s= Carbosoft( sJsCmds);; V, t6 q4 |4 ]8 w
</script>/ K* w8 u/ R# i' p" c9 g. ]/ m9 U; U
<form name=qq># Y+ C6 z8 H! o
<textarea name=ww cols=100 rows=10></textarea>
& [9 [) c9 I( x/ A/ D& R: D6 R<input onclick='ww.value=s' type=button value="解密">
5 \' O# u& T8 l9 j</form>7 M* c6 C  d; }* [5 i% e, B

9 Q. k$ D& j% c5 T: v, T. Q, O1 J; j) N) s9 O
方法三:
1 P" m! s9 O0 J0 Z( x# ]: D0 b! q  L: v' |* I, U) a7 y
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:- O1 S  ]* O. G3 m' Y8 C
( p" x7 ]6 D  C$ \- @
<HTML>
  H* W, U1 X" X, u4 _+ ~* q<BODY>
' g4 r; j3 {  D+ ^5 }<SCRIPT LANGUAGE="javascript">
1 F/ M7 p; ?7 }+ O9 K) ~- zfunction Decode() {
- b3 F$ i% p: N+ Q. T9 vd("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;}$ w; e. P" T, N. s: a4 j9 O
</SCRIPT>
# C) u/ _* R( a' n: N<SCRIPT LANGUAGE="javascript">' G& i- Y3 t5 {9 X/ L* v& H
function d (enc) {document.write(codeIt(key,enc));}- n% i4 R" F! E" }5 B8 _, d4 U
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;}
) `" D' B5 b& M' ?</SCRIPT>/ f2 W/ J0 o: Z* i, Q
<SCRIPT LANGUAGE="javascript">* h# ~1 J8 C2 v# i' ?! c' K9 Y5 ?
Decode();3 d- @: I  h; c9 n8 U" c
</SCRIPT>" r" O$ Y8 a0 z2 u* M
</BODY>
3 `1 x. h% w0 ?+ v2 h8 Z5 R, z</HTML>
: A# a1 ^  {+ Q, Z* i: a+ c7 [5 T1 Q7 h
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
0 ?# C! ]$ j9 T. g  P. `/ o$ i* W  |; N8 p. ^$ @: I9 h
<HTML>
0 P; O1 y4 [" Y6 n( Z# g3 p<BODY>: c, w, m5 c- F" s$ ?
<SCRIPT LANGUAGE="javascript">
7 |% H- K4 P( x( j4 Efunction Decode() {& C+ w" P3 P% L! a6 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;}6 W# f% O, T" I/ N9 X' |
</SCRIPT>
+ w4 |2 j% @/ ~2 i' U) |- |; N<SCRIPT LANGUAGE="javascript">5 @) C9 l; X. s2 J
function d (enc) {alert(codeIt(key,enc));}
0 d: {+ e: R1 I% mvar 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;}
; v  Y4 ?; n1 {- i2 z</SCRIPT>
- `! @% J! F! _5 d<SCRIPT LANGUAGE="javascript">, \4 x' G8 b9 k* ~  U) Q
Decode();
+ U% F* A. X% j0 z' u: ?</SCRIPT>
4 w% `) L5 l; Q3 i</BODY>
6 E5 n& n- V  M2 O. P</HTML>
$ A( L! q1 B" s9 B. I4 t- l8 ]/ ]/ u' t+ ^, q
  哈哈!!:=)是不是很精彩!!

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