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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
9 z: U: e# x6 g. L$ |8 R  x* _1 q2 J- i& c/ k6 W6 M6 n
# a: f7 q7 C, @# J& c% m  |, m
方法一:9 [! ~. g+ c8 @$ u6 u  G
* z+ ^7 \5 d- m- r1 s- |( d

0 E  E( K" R# E/ |( K  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:0 ]9 n: R8 F/ N+ y% N" `$ P. O

% y4 i8 j5 U: U& s% J, _! v<HTML>
% S, L2 [" m% k; q( j' y<SCRIPT LANGUAGE="javascript">
/ R* K0 A3 s) Q# }( 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"/ ~& T1 m7 m; H
var NewWords;# }7 ^* N( v+ I6 q7 G
NewWords = unescape(Words);# }/ [$ M$ O$ h
document.write(NewWords)
; {6 r7 r. t0 T</SCRIPT>3 v+ u% ^4 ~  K* w/ _1 i8 P
<BODY>( B: d! ?! a; n. [) `1 _
</BODY>8 @, U- s: N7 U* z' x/ b
</HTML>/ o) S, }* r) ]6 K5 d7 H3 d
  m/ @" }, k& r% Y* F4 I; U
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
& Z4 ?' @/ g* x/ p' ^  H5 P/ A4 i$ D+ s8 j  l
<HTML><SCRIPT LANGUAGE="javascript">( j2 h6 g9 i5 H& [9 V
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"
3 s, i# C" k. ]0 v4 r0 Xvar NewWords;
1 w0 c& K& Q; g" Z( DNewWords = unescape(Words);
" J' O. h4 `4 `/ `NewWords=NewWords.toString();4 \- W& {! y3 c% t  Q
function password(){
9 `1 `( \1 k* X  p% Y, k: G/ G; Qdocument.pw.txtpw.value=NewWords;4 e: z3 D" @8 z/ ], X) J" e
}
) z" M  E8 {0 n- g1 o- o</SCRIPT>
$ p& V0 G1 S4 w; l<BODY>1 M0 Q. b5 U( p& }) b) g& O: R; w- a6 [3 i
<form name=pw>
" h" H% I  P7 J- j; H1 v) W<input type=button onclick="password()" value="解密">
7 N# l1 K7 R+ B+ `<br>: Y6 E: a( @' X7 u" G$ I
<textarea name="txtpw" cols="100" rows="100"></textarea>
  V; B* [9 N& O</form>
$ R" ]. a- l" C8 y9 {' `* j</BODY>5 _2 m9 i! o5 D; {
</HTML>
. N( ]4 q5 X) Q; }  u- o
/ y3 }% s/ i' c' x* _7 X方法二:
5 S7 h6 d. L# ~" `* H" g/ g) M; f0 P1 _4 r
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
0 M. p/ e% w9 i6 i) c* n* U  Q6 z& W) d- O
<html><head><script>
* V4 E" M$ n! o, n; \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 b0 ^# ?7 E+ o4 {8 Svar sJsCmds ="" +1 ]$ m. H7 {* }: v
"?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" +
. n* d9 b+ j% @) Y$ ^& {: \"";9 Q! }# [2 {/ x7 @4 [
var s= Carbosoft( sJsCmds);
5 B. Z; b; e! pdocument.write (s);, u+ t/ A: H" K1 I6 e5 f
</script>- v) i- c& i7 R. J0 p
</head><body></body></html>0 d0 m& Z' l7 l* _

" Q$ @9 n: i5 V& [  q+ n  ~  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:6 J& ^4 ^0 o7 a5 S

; m5 L! K/ m: J5 ~<script>
+ d  O4 S3 }9 w" M. x  yfunction 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 ); }: c. o+ r8 p5 k/ R& Q
var sJsCmds ="" +/ [% A& ]0 L! d' 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" +; f, R5 X2 n/ w: R7 l, \
"";  x9 D) \5 m) I5 r
var s= Carbosoft( sJsCmds);" H# A, i8 ~3 ]5 M2 E
</script>; t$ x" Z: ?2 z/ h6 ]
<form name=qq>* O6 z; m- [& T
<textarea name=ww cols=100 rows=10></textarea>
% Z! O7 o0 g; \' j) G5 W<input onclick='ww.value=s' type=button value="解密">
5 c# b% B5 c0 w. S" F</form>* S3 F+ C6 v! v* G, J% q

9 n, A1 r8 M  C4 v/ R* o5 V! S' n0 f+ O7 v. b' L) D9 i: m
方法三:' u/ ?. }) r2 L: M6 t

- V1 ?9 B9 I/ M# c  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
; T. O2 }0 I1 v$ ^; s
+ G1 h4 N7 U0 t$ A6 }<HTML>4 Z% S8 u6 t8 ?) [% H
<BODY>8 _" m$ B" u8 U: |( \. t1 b- Z
<SCRIPT LANGUAGE="javascript">
' E+ d0 s. T0 p; H2 a) F6 i# z8 lfunction Decode() {
0 K# N5 }& Z! x* `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;}
. b) }2 [& t2 S1 P) H$ N+ b</SCRIPT>  K' r7 j4 j  ^# j( ]
<SCRIPT LANGUAGE="javascript">
, K/ |* X) p2 J' E: n2 pfunction d (enc) {document.write(codeIt(key,enc));}
, ~) {! k; B& \0 N" A) Lvar 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;}
& [+ b. ^6 I! f- F# h1 z. }</SCRIPT>
; `7 q# s+ e, i1 e5 ?<SCRIPT LANGUAGE="javascript">7 w+ u) W: F. m
Decode();' z, s1 [$ ?+ ^) e
</SCRIPT>
7 I2 K; m& q( K4 h4 w4 X3 P9 a</BODY>4 D$ R$ Q1 ~2 p3 r
</HTML># Z7 n3 Y0 G' q  t2 l, [
! G1 M& j: w$ L- I
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
! a! i- [; T- s
! j: b* j: C$ F' J1 L<HTML>* v2 `2 K, X: l
<BODY>
1 {  R; B% I2 ?" w<SCRIPT LANGUAGE="javascript">
0 g* E8 r) w  T$ Q) ~$ efunction Decode() {
# [! {: e7 [' o1 v( ~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;}
. g- E8 J/ \8 p/ v, R( h</SCRIPT>
+ ~1 W/ r1 Y: f8 m6 X<SCRIPT LANGUAGE="javascript">2 q- E4 f9 j9 t" K1 B
function d (enc) {alert(codeIt(key,enc));}
7 m/ ~6 y- d$ s5 o7 avar 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;}
. H' C0 [# f/ n</SCRIPT>5 j3 \7 w6 I( [' _
<SCRIPT LANGUAGE="javascript">
7 J$ O4 V# X: e) a4 P" `Decode();# T1 B0 J: n2 b! A- b8 d
</SCRIPT>
% x4 l8 K* s, X/ [6 q2 @" Q( l</BODY>
9 ?  L/ S5 |) J0 f</HTML>
  K5 o4 i* A( W7 X# F7 D& w, [" u1 @7 [+ V; @( H& V
  哈哈!!:=)是不是很精彩!!

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