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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!3 C2 O7 G& |# Q; \8 \' c$ F
; _# _/ x. ~$ [9 ^- j
3 s% K3 F4 x' h2 j( |% a
方法一:- y/ l# v% U/ n& G7 C+ o

3 n4 g3 ^- |! q6 {5 T) V& N: S8 Y& F
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
$ r- i: u! p* o" _# {4 d
- o8 J" S  Z- M( ?1 j, W* x<HTML>& h+ n+ \) x9 J( C# ]5 D0 C$ v
<SCRIPT LANGUAGE="javascript">/ ?% p. v5 s- s: ?
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"
5 B& h! s6 d/ ?* M; @7 ]var NewWords;
8 _) f1 F; N7 H/ q5 m& H& qNewWords = unescape(Words);
- [  K7 [$ x" W& a1 n+ M6 xdocument.write(NewWords)8 x7 _1 {$ w1 O- i( e
</SCRIPT>- N4 i$ P1 d9 @/ s: C5 n
<BODY>" S$ S# ^+ o5 \# v/ P, n* u& M
</BODY>
* F7 J; p, E  i8 \</HTML>
  {7 E+ @! x' n6 e2 z3 ?7 H  c. M2 M  j% `/ W+ V: o$ W) ~3 K
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:9 c6 K- M- F6 R  L$ z: V7 U

! ?3 h: q% M" \# L<HTML><SCRIPT LANGUAGE="javascript">  h& \' B% L" 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"
0 u' ]) ], m; F# Dvar NewWords;
; ^+ W6 X8 }2 }3 ~NewWords = unescape(Words);
* N0 e0 w9 r. T9 XNewWords=NewWords.toString();/ X" `& c3 m+ d( }
function password(){
/ ~: g1 _' q/ u0 N7 F. L- y0 Kdocument.pw.txtpw.value=NewWords;
: H3 N& Z9 W; W2 f6 z+ k: w}" j4 Y  _, W/ t. [& c, E# C
</SCRIPT>
( _: y5 }0 w( r: R( q# a- j<BODY>8 W: R* M3 a# k( ?( k* U
<form name=pw>
5 `6 K4 ^3 d! D) p) q7 R. P, `<input type=button onclick="password()" value="解密">3 ?/ s2 X0 U' [8 t9 C
<br>4 ~* ]% F) B  N* G, c/ S, |( ]
<textarea name="txtpw" cols="100" rows="100"></textarea>3 G. o9 y8 J4 u( @
</form>
* y7 B  M* Z! x: j9 R</BODY>
/ F* g' Q* D5 \' ?% _; e7 R! R& @1 _</HTML>
; z% s1 F+ d6 Z9 i. @
) o$ W7 Z7 s& s: S& w9 I方法二:- j0 V5 ]% w1 L( F$ }
0 I" V( N' J( n  d; x
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
+ p' B6 ^8 r3 F. I% }. i5 \( v2 f) H( K" l6 H- @% i) u6 f* \1 H8 ?
<html><head><script>9 s1 P, A1 F' y& ]7 C. x
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 ); }; ~& L6 K  E2 T# P& L6 Y/ [
var sJsCmds ="" +
2 B. l5 A* }! Z5 ]" G6 ^7 @% K: L"?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" +
2 d( ^+ @+ ~& P7 }1 X"";* }5 K: U' P* Q( q7 z5 E$ |
var s= Carbosoft( sJsCmds);% l  \! X" M/ N, |0 ]
document.write (s);
7 q2 e+ H# ?( f0 _4 X% p, g. q7 ]</script>$ h! |% Z' M7 b3 Z
</head><body></body></html>
7 o' J: S/ U) @8 s3 e4 c4 s2 b% P. Y+ m* _8 A: C% t& f0 y
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:0 T+ D6 l! A5 H! R: f. h

" S7 i+ m% B; ~+ d<script>
2 u$ f3 ]3 i, R* W+ ]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 ); }
# _# w5 Z5 `4 Q- t. O  W: A( gvar sJsCmds ="" +
0 F! \. Y2 t  H) n( W8 v9 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" +
/ i/ |2 {' c) F"";$ M  k# X5 t0 b1 K- v3 ^
var s= Carbosoft( sJsCmds);
) N  z. ^* c  {% A</script>  p/ ~% Y4 V# X1 e
<form name=qq>( R# b4 o: B! p
<textarea name=ww cols=100 rows=10></textarea>
2 R. r  c% ~1 b6 x% w3 _( u<input onclick='ww.value=s' type=button value="解密">) ^( U/ R$ I8 g; L& o7 t
</form>3 O4 x$ o! F( b" O! w

. g; z% V; K! o! n( l1 q) R$ ?9 x9 b- a9 u6 B
方法三:
7 a% N# j. t% Q  o! F) p! A+ ]7 H
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
0 h4 L, O# I0 I- R; E* w0 ~% t8 q/ ~
& J) m- i9 M4 l! n<HTML>
3 I, p# N3 l7 r/ W<BODY>- n: j5 {0 D+ q3 e
<SCRIPT LANGUAGE="javascript">: u8 b4 }' d: O: z
function Decode() {9 ^# M+ P8 V& ~- i, ]& O3 P2 q4 G5 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;}/ c# n1 y2 Q5 H/ v. e
</SCRIPT>' K, v( O# N9 i+ ]# F0 X- t0 z
<SCRIPT LANGUAGE="javascript">( O' y  H: [( C1 a7 q
function d (enc) {document.write(codeIt(key,enc));}
' K6 @- r$ t" g  W& j# p; wvar 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;}$ v5 F- h# Z) Z) m$ @
</SCRIPT>) A. e. e+ Q) E! e" }
<SCRIPT LANGUAGE="javascript">
$ r& G% s: G: m0 o0 N2 E: J3 P/ I7 ADecode();
, y! l- Z6 `( g+ t</SCRIPT>9 z' S/ |! u, q* z- c
</BODY>1 ?/ K0 M" h( _4 u# E" S
</HTML>
9 I# \% {/ P4 p" [$ G2 ?
3 `) k* _1 n3 E- h3 v  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
8 |1 G! n( I& p9 P9 `# O/ u: ]! C& r( @" d) d1 @
<HTML>
$ p" Z! C6 R! R<BODY>9 X6 @9 H1 H. R- ~
<SCRIPT LANGUAGE="javascript">
" s, q* _0 ^$ }2 i1 H1 jfunction Decode() {, M$ r; q: t2 T/ K: k2 @
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;}
# R8 w7 c! I0 `9 O. p</SCRIPT>  v) p8 Y" J- j9 [% F  |" b5 \
<SCRIPT LANGUAGE="javascript">/ Y9 }8 Y. Z/ H
function d (enc) {alert(codeIt(key,enc));}1 V# Y- I1 _( g4 Q$ }+ h
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;}" Z- U2 j2 D6 `
</SCRIPT>
3 y/ Q9 r2 O1 t! k9 y. B/ v<SCRIPT LANGUAGE="javascript">
4 R" a7 L0 w# X% P, HDecode();
: l; P& Q! z& k7 v$ C0 T* b2 w% i) p5 n</SCRIPT>3 \+ D& e# u. s/ t
</BODY>
" q/ S  m* Q( X</HTML>
; Y; h; W0 W& w/ G0 v6 \. _) p
, w# f9 j1 B# C) t" U* v- h0 k  哈哈!!:=)是不是很精彩!!

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