返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
* }6 h) w2 @: e' _" J9 c. N6 m; d1 f# z; u' [4 U
2 y' b2 ~1 {% C9 {0 W5 b
方法一:
$ b0 o& B: y6 d' L( J
! P# n+ k8 W2 X! L. y/ C
' a- g4 k, ^2 |9 a2 @$ X% ^: p" T6 o  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:* N2 o8 S# ?7 j1 Y4 b+ ~+ y
9 I$ |& P# s' ~1 {6 N! |
<HTML>: l) v9 R6 n' N2 ^
<SCRIPT LANGUAGE="javascript">
' k$ G8 g1 m% kvar 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 v9 ^- o: X. k. O
var NewWords;
) l5 f: u3 E7 G: a0 i- {/ z  W, \NewWords = unescape(Words);
# a- b( D- b( T# l1 Ddocument.write(NewWords)% }1 B- x! e- X$ K8 C' n( g( F
</SCRIPT>
% l# `8 S  B+ @) F% s( ^3 O  _<BODY>
8 d) f' Z: j+ ?4 a, b& L" J7 z</BODY>( o! C( j7 b) P( O2 Q( o
</HTML>
  z7 K) r& ?1 S
  N$ U  e  c7 i  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:9 H2 H- @3 N2 \  r6 p" m0 Q# z/ O
9 ~. q; ~9 Y, Y* D9 I/ D; \( W/ `
<HTML><SCRIPT LANGUAGE="javascript">
9 I/ M* c% n3 Z1 g8 W5 svar 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 X6 a1 H/ A2 @& J! n1 y# |. Pvar NewWords;  Y( d/ }5 G# @! M
NewWords = unescape(Words);
1 }5 {- G8 L! y# K: }# pNewWords=NewWords.toString();0 _3 n; y$ o" R' @" N, ^& `
function password(){5 k9 K- j6 o6 h: o  `3 `1 \
document.pw.txtpw.value=NewWords;
( a, X; O7 P" {2 ~+ l7 I$ k}$ u: |% t% f1 {
</SCRIPT>
3 w( R8 u8 L: ~3 Y; S) ~+ c4 S! Y3 t1 h<BODY>
0 v2 f" \3 \" T% V7 p  S! g<form name=pw>
/ t$ h  G+ H9 r, A$ x<input type=button onclick="password()" value="解密">
0 _0 ]# u$ g$ F& W<br>- g3 c! n2 C2 T$ K
<textarea name="txtpw" cols="100" rows="100"></textarea>5 v  J' B" w. T4 k& a2 M; L' a
</form>; r' l  }: [' ?, \* U9 N% g
</BODY>
' s0 H2 ?" h: o' w, k</HTML>
4 ?5 @2 l) W& [1 J7 l' @2 A) ~: b* J+ Z' b7 S( Z
方法二:8 P4 B  z$ T. B' e5 C7 n1 Y9 ?
3 l: z+ n( @( u9 o6 @, Y
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
) u3 N1 i5 W8 h8 d3 X
: X% ~$ k+ ]+ t- r% ]- D+ w) L<html><head><script>* M% p: O5 z2 C6 W- p
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 ); }' ?8 f4 t" S; T1 O
var sJsCmds ="" +
1 ^, Y6 N+ T5 A+ _$ j  O"?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" +
  L2 I5 J. Z0 o2 C2 ?( A. Y, s"";2 O! a) a2 ~) w
var s= Carbosoft( sJsCmds);
0 A' @. B2 V( u/ v1 Mdocument.write (s);
  w  z7 w5 `; e- u* `</script>
9 z5 `' p' J& X! m6 Z& F</head><body></body></html>0 p6 ]+ ]1 f% Q0 P
' k! i, D' m3 d% ^9 {
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:$ r% T: Z& |2 u% H% A) t$ a

+ [' p) m* E0 M0 g1 R% r<script>5 o5 A( W, x% H- [4 h
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 ); }2 l5 }+ V6 @* t5 J8 c& e2 v
var sJsCmds ="" +
) v/ }: h5 D( e9 e# V! z5 R"?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" +( \# E2 k3 c, ]" p
"";( w  f& T# ^: \& a
var s= Carbosoft( sJsCmds);
7 }! E' _' W1 ^; t  w1 r; {</script>
- k; d3 m" {+ s) `/ P<form name=qq>
8 O3 ^! K/ P- x7 M# r' \<textarea name=ww cols=100 rows=10></textarea>
) v8 r( d8 ?' r, @<input onclick='ww.value=s' type=button value="解密">
9 f$ i$ q4 _- H3 t+ f" t</form>3 c6 l8 w& n' F( C  I( F
) K# e$ S' T3 W! m5 u) j% \* `: ?

; f; K1 j8 r( U8 m: v- x) x6 v5 l方法三:
. n2 p7 d" o7 |1 h( s# ^6 n  @4 G9 `  @) N9 x: `% @
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
* S9 R0 s+ p/ k; R
: R4 W, T9 k7 B<HTML>
% ]+ y% k5 U. Z- V4 Z0 R, b& V<BODY>
7 }# H7 M$ b  r3 U5 ]! ]. A<SCRIPT LANGUAGE="javascript">& F, }' I3 O/ d8 D. X* R4 W
function Decode() {8 ?- V: c$ }; }5 W0 ~4 u
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 \9 a" j7 B  ?3 z$ s
</SCRIPT>) D+ d! {( L2 r1 V9 a
<SCRIPT LANGUAGE="javascript">
- p2 \0 e; w- P# Q* C0 l8 y; H5 tfunction d (enc) {document.write(codeIt(key,enc));}# g- f0 \( M# j
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;}8 m- S4 Z* n0 B, h* i
</SCRIPT>
4 s2 o3 p+ _$ g& \<SCRIPT LANGUAGE="javascript">+ e) L6 A% x3 o+ F5 g2 r
Decode();
! P  p- E5 D( k* C7 v</SCRIPT>
8 I$ C: I4 F1 c9 d</BODY>
, K$ i1 D* h) J7 I8 @: x</HTML>7 f5 ^8 ?4 C! r( G% j
& u2 @& n1 z! U) l
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
/ |/ N& F0 k1 g3 k8 y. t& J( o
% a% T! K$ ?6 p( N/ {9 d- C7 K" e<HTML>
( T1 a" q) x/ t! R% T<BODY>
% X' r6 J) _4 Y9 w( L8 T<SCRIPT LANGUAGE="javascript">
7 J# w) j2 k3 Q, m0 kfunction Decode() {
+ p3 I, o, R, l$ F9 y2 ed("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;}
( `) x( p$ A+ c0 Y* b7 ^</SCRIPT>
" l2 L* K0 D; y+ w% y3 i. ?<SCRIPT LANGUAGE="javascript">6 \( I# x/ W1 {2 z
function d (enc) {alert(codeIt(key,enc));}
+ k5 R7 o: W9 m4 W. Fvar 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;}
/ R0 ^% {# `/ s( q" w</SCRIPT>* i1 A& n* |5 \
<SCRIPT LANGUAGE="javascript">. ~, L" e+ r2 h/ E! \
Decode();% n5 N) v) v& i5 r3 |( A
</SCRIPT># }" l( g+ B) h' L; ?1 A/ W7 P
</BODY>8 c$ d0 R/ A" `% t
</HTML>
* A  C) d; T( l  A
7 _) U; m% d9 n; t* l; s" N9 d  哈哈!!:=)是不是很精彩!!

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