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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
1 A- w% C; c0 p% B1 Y, [3 Q3 D# D3 `* s0 }0 ?5 a/ e) E2 D
9 }+ b; W4 v! g5 R  e1 n/ |2 v
方法一:( z. E1 Y! I  F: [% @

- g/ u7 C/ g. V7 r
: Z% |6 m' Z7 Y7 g5 H0 _  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
, b& m! @  h7 {0 Q! p' W& ?0 @; l4 R& m/ R
<HTML>; T8 o: R9 a4 h' k
<SCRIPT LANGUAGE="javascript"># r  W; t5 |9 j+ ~: A0 V5 ^: w
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"
7 a+ q$ h2 }7 ?# X, s8 ?) B9 Rvar NewWords;
% _+ e5 c) M1 L. A' e6 y2 @! k0 bNewWords = unescape(Words);
% B) |% V) E$ \% Y* Q: Jdocument.write(NewWords)
/ H  t% z0 `( K  j</SCRIPT>
  k2 X9 }& E2 d6 @9 m<BODY>
8 }) B( w, A7 n6 ^' L</BODY>
; K6 d4 U' G7 {! Z1 W* H</HTML>
+ g! i& ~6 A# o) I% H, Z& @
% t9 g8 O4 q+ s# D( }; j& N6 R  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
+ ^5 h5 A) B( i7 @8 O; B9 g
/ }! |: _( Q* B" l<HTML><SCRIPT LANGUAGE="javascript">
& ]4 T4 C  J5 Jvar 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"* w4 L" v/ r- t3 t* f
var NewWords;
0 w/ e+ H! H! zNewWords = unescape(Words);
6 n* a8 ^$ T( R. H) tNewWords=NewWords.toString();
! ^* \4 C. H0 v% T1 l* O1 T9 ]function password(){
7 X9 j+ z" J; a5 ~3 V( U* @document.pw.txtpw.value=NewWords;# h+ b8 l. b/ A1 k  T; u
}
* d2 B1 p1 j& K5 e9 x& R</SCRIPT>
. M8 c/ |9 C5 C; T2 r3 |3 X9 m<BODY>
& _- R" p0 |* U( U9 y<form name=pw>* b- \* V  k& D# x" `( N) m
<input type=button onclick="password()" value="解密">
; ?" f8 G  {' g  c2 t<br>: m0 O, y8 s& Q
<textarea name="txtpw" cols="100" rows="100"></textarea>
) L8 w, M4 H8 _9 ^/ ~' D* \</form>
2 h9 Z3 w- Q8 @</BODY>
3 x  u9 v% l! B, N. w9 P</HTML>7 J" V3 v$ t  G' j- y; V% y
" H* v5 Z$ b" `. d4 ?# _
方法二:
5 V' U8 X6 u1 ^, x+ r
3 t9 S1 E: b+ J8 s) I! N% R% F  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
* V( ?9 b! C8 P. M5 K7 v, N9 _! l, D
<html><head><script>5 E4 {: u* T2 q+ [2 K0 N9 N# g
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 ); }
% ^; A. ~* A* _& vvar sJsCmds ="" +
$ I, Y6 P9 H* C"?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" +
7 K, Q5 Q% E3 w"";4 B: H; M, t# F% G1 x& S% {
var s= Carbosoft( sJsCmds);
0 i7 j9 v1 l3 y5 r3 rdocument.write (s);) P, G5 H/ h4 \$ s" p8 d% G8 z( j
</script>! r& {% \, k7 B2 ?! k
</head><body></body></html>
& e3 `- d1 K% [7 u1 A
% M5 z2 `8 X+ C5 ~# C% T  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
. P# J/ Y  x! T
4 ], u7 o. R& ?7 r! o<script>
- I+ X) U# q0 Z7 V5 X! D" h6 J; ^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 ); }' b, B) `; x+ Q5 d2 R
var sJsCmds ="" +
/ J5 F# Z4 `4 o. @9 t* s"?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 @7 p' x! G3 Y2 q6 E) f8 b
"";
4 [2 ?: U! g; lvar s= Carbosoft( sJsCmds);/ Q$ ~& {: Z; F$ ^3 w+ z5 r% E
</script>
5 [% {5 h* \# n2 q. P<form name=qq>. ~+ M1 P! Y+ ~4 m2 @
<textarea name=ww cols=100 rows=10></textarea>: |( l) i; i7 M( `: J* F
<input onclick='ww.value=s' type=button value="解密">& |. |2 C, j' a4 ]
</form>
; Y% a; m  }) Y( T+ F' }8 m. h+ \% f6 k" g) J( O
2 Y) E' g! t& i! K; B' s1 ~  x
方法三:1 {3 `* D: r3 y9 A
+ l! o  R9 O2 v- R+ @
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:$ h  ?; u, C  h# s) U

  m" K9 F( f  n& e<HTML>6 t3 O: w$ F% o
<BODY>
  w8 s' G9 a; P" L9 w<SCRIPT LANGUAGE="javascript">
7 _) X' f" S  ^- U* C. Pfunction Decode() {* p( F& s+ O: W/ K" V6 G. i
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;}2 s& E- c  Z  |. l; y& ?; }* c% f1 ?- U9 V
</SCRIPT>& }% X+ s, z; I3 |# Q) W
<SCRIPT LANGUAGE="javascript"># ?( U, i* O0 K* ~8 Z* V3 `
function d (enc) {document.write(codeIt(key,enc));}
! e2 u4 q. C- L$ ~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;}6 O) _4 E0 [1 B6 P5 D
</SCRIPT>! |: m- {' Z$ `) {! x; A/ ^7 n
<SCRIPT LANGUAGE="javascript">4 ?4 K, k# C4 m6 a
Decode();# B5 J" S0 C1 X: e/ L8 ^
</SCRIPT>
8 _( q; t( v3 [# @  D</BODY>% \2 x0 ?& b( ~
</HTML>& D3 M1 i" [2 D( p. N! z2 L

. S0 ^, L0 R6 B7 A" ^! m- X  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:7 q) \+ i$ Y) M3 z, M
6 k1 z# e, |& M3 g* `- _
<HTML>; Z" l: |. R3 I  P
<BODY>& ?7 n  G7 ?8 B/ o$ @( A& K
<SCRIPT LANGUAGE="javascript">
( u  ]( O* c/ L+ r$ N' k7 Rfunction Decode() {. S2 j# X& ^7 L8 G' 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;}9 O! s5 a; t. {7 z/ Y* T
</SCRIPT>% j5 U, J9 q  h- ]4 n
<SCRIPT LANGUAGE="javascript">
+ A! ~) g/ y' z* Tfunction d (enc) {alert(codeIt(key,enc));}
8 E  p# l* H5 G6 u% D' zvar 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;}
) ]2 j- H, b2 q</SCRIPT>% Y7 w! }0 N6 S+ [7 [; L% p
<SCRIPT LANGUAGE="javascript">9 j& v+ U. j  @' W) B, s
Decode();# m4 n7 O4 @7 ~
</SCRIPT>8 E2 A8 d( j1 s$ a( `4 L) r
</BODY>
) m1 _% s" D" W' s6 ]; K</HTML>
2 J2 w* ^3 h( [# O/ q5 u+ m3 h7 s- j$ x: b
  哈哈!!:=)是不是很精彩!!

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