Board logo

标题: 网页制作中页面的加密和破解 [打印本页]

作者: admin    时间: 2008-1-19 23:24     标题: 网页制作中页面的加密和破解

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!' _5 \5 Z# N9 \- l( C0 j6 t# Y, O( ?
: ~' b. q, j( N
9 r5 T8 H: r! G8 g3 t( Z
方法一:/ {* n: o$ {4 b2 _6 L3 [) G

: H8 g4 x- ~: }: _+ W$ f: p& g  M) \9 R% J" |
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
3 `' G" }2 h& ]) O
# v% T, J7 B% K8 M+ R7 I4 e<HTML>/ g# z$ z7 O- m
<SCRIPT LANGUAGE="javascript">  Z" l1 K( K: k& R6 }" K/ N5 R- P( T- z
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 s  |, U1 f- T( i5 N7 qvar NewWords;3 e! [' f3 K8 f/ Q& O9 n
NewWords = unescape(Words);
, s2 c: _- ]; |7 T% {- A6 ?. odocument.write(NewWords)4 M% a- x. z0 @" n( R! G% p+ V
</SCRIPT>
( W/ q) o" S+ u; N) U  N<BODY>
3 w7 h- [9 m! I% e% C</BODY>9 l  X1 j# G8 |4 z6 n0 w
</HTML>1 L6 q9 z, `6 b& ^2 @; |* E; A
$ B7 ]. w! Q- C( y0 |5 V9 P+ w: e, a
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:+ C( _2 [5 m4 q3 v( ~+ ]
9 I# d# u8 j% R
<HTML><SCRIPT LANGUAGE="javascript">
2 P8 g6 [0 S7 j$ T1 P9 Qvar 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"
( k4 P3 J- l! R8 V7 N! I. Fvar NewWords;  u$ e% ]: Q3 N  [4 l
NewWords = unescape(Words);  o6 c% _2 i+ o, Z7 W0 a- k
NewWords=NewWords.toString();% C9 E9 J; m, k6 r) @5 i
function password(){7 K3 i' d9 [0 b8 W& l# f
document.pw.txtpw.value=NewWords;/ D5 S" I" b: m- g% Q4 r
}
/ h) K4 m" N' B; P" y7 }</SCRIPT>% L: x, }, l: j5 l9 S/ o/ ^, Z/ Q
<BODY>
2 f  z0 `3 ^6 r<form name=pw>
& Y2 |/ \) L$ l0 c5 v) F<input type=button onclick="password()" value="解密">1 e1 N+ e- w% N0 C
<br>9 k0 s/ O8 R4 q  f
<textarea name="txtpw" cols="100" rows="100"></textarea>
  {( Q) T! u1 G+ t' g1 c. P</form>: w9 B6 _+ g' J9 m9 C* g. e
</BODY>2 d$ T+ w" p  C& J# W9 }
</HTML>/ A6 H$ N. S! W" s2 h

6 b2 T9 J/ r8 b& [方法二:
! k. w' P7 ^/ p6 G% C5 o' X' ~6 T$ e: L2 o+ }
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:1 a0 J% H  E! y& T9 q

4 w5 c' f% C, d8 f<html><head><script>
5 D+ P5 Z( Y; p) }& Kfunction 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 ); }# u) y& m, W* X; n, T' y; m5 ~
var sJsCmds ="" +
) U- [' i6 @6 Q6 A! Q# V& {  W"?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" +! S+ g; ^( Z5 y# n  Y
"";
* n" N* F2 x7 I0 G/ r+ @var s= Carbosoft( sJsCmds);
! U& f) w, ~! M7 n9 kdocument.write (s);; X# t2 N+ V' P4 O
</script>
) C9 {9 G, @- J( Q</head><body></body></html>
) B7 |+ }/ y4 z  M& P
! W/ ]& O6 F1 C& I/ k& P+ i; c5 Q  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
1 L& k" |, y4 O1 f
4 t2 |0 v9 R* G% e) d/ |3 b, Y! ~<script>
1 w0 \) A* m4 O$ wfunction 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 F& v1 O. z* a) T# M! Vvar sJsCmds ="" +; U0 T, }& Y; B0 B7 P+ 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" +
9 S- ~0 o* H: T; J5 Z& L"";
7 p' m6 X# f, l2 h+ o# J( dvar s= Carbosoft( sJsCmds);/ V9 L' ?% E/ _/ {
</script>) b4 q6 o5 [+ N: l4 h+ ]; O/ }
<form name=qq>, e% O) V2 y7 j! Y
<textarea name=ww cols=100 rows=10></textarea>
2 F' B8 u# I3 C6 y/ J! m<input onclick='ww.value=s' type=button value="解密">
9 @5 j; A' D9 \9 q. w</form>' B! T. l& `* d1 b$ D) k

7 @& D( y' R8 j+ r: t0 F9 w$ H/ z
" }% Q7 K& P7 V) e6 P5 M# n/ i方法三:
: T. h: \6 h7 T7 C; j2 b9 x. O4 _! M3 t
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:' G$ d% p) Q, I$ t1 M% z$ O: w$ ^
6 B0 \: y1 M  F# Z- H6 u3 i
<HTML>
. I2 E" X7 y1 N: Q/ T<BODY>
9 h; I! `; h0 j9 p<SCRIPT LANGUAGE="javascript">' J' O9 J- n* e# R2 z) v5 F
function Decode() {
, Y: C# z0 r5 od("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;}% z+ F* e: R7 [
</SCRIPT>5 ^% w" x' P, r" h7 Q7 R
<SCRIPT LANGUAGE="javascript">* _0 b9 T9 u  r1 d
function d (enc) {document.write(codeIt(key,enc));}& p3 q7 J0 D: F8 ^
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* s9 `7 _  |: r
</SCRIPT>! z( ?; B9 P- ^& V/ u0 T/ y
<SCRIPT LANGUAGE="javascript">% }* @& u5 _% \7 @) K, f- X
Decode();
! e$ R) u' F+ G5 c. k& D</SCRIPT>4 r3 {# J6 O, h1 d3 O
</BODY>
, I0 P9 c, f7 Q</HTML>! R2 I3 X" \1 V7 h, G: V
" r' P% N) u: [# C' r  j0 F
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
" M1 d2 [: r7 Y7 D# r+ N- ]/ g% s! W5 J8 d* f" r  B
<HTML>
, q( z0 W; ^, l% g' ~; e$ Q<BODY>! U) p6 t& Y* R3 X- ]" ^
<SCRIPT LANGUAGE="javascript">5 u( x' @  [" B  {5 D
function Decode() {
5 q  v* q# K; O2 k  f% fd("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;}
* q; L: Y. L) A3 x" n4 y$ @</SCRIPT>- L( L8 I, ?% M
<SCRIPT LANGUAGE="javascript">
4 \8 G- e6 G* L: K; Wfunction d (enc) {alert(codeIt(key,enc));}! E6 ^6 |" |0 o
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;}. U6 h/ L5 W5 V/ O) K2 M' L
</SCRIPT>
! |+ p  {& O; r) d9 f<SCRIPT LANGUAGE="javascript">8 o* T6 G2 F& a# C+ e
Decode();! Z* {- x: J  ^
</SCRIPT>
2 a2 }$ R$ X6 T' R: K</BODY>* R0 c+ a% Z% @3 L9 [
</HTML>6 G, q' R% w7 i8 v- x6 B

% f) v5 Y7 K- t8 L  哈哈!!:=)是不是很精彩!!




欢迎光临 捌玖网络工作室 (http://89w.org/) Powered by Discuz! 7.2