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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
- J- b8 l. j0 z
* D% x( `! X* }+ P0 }  t' w0 C* M
2 k* T0 e$ x" _3 @4 k方法一:( `; t6 k) @4 }2 b* k

* A6 f+ t1 U" Y& H, ^9 \( B# W
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:6 g1 |+ }" e$ Z

' q0 X0 {4 s! {: ]' n% j<HTML>
, X! a4 y4 r$ L& x<SCRIPT LANGUAGE="javascript">5 v; o. N) y4 r! m' 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"
) J7 c/ Y: B1 x" A( T3 Lvar NewWords;8 X6 ~5 o/ R6 X5 P4 r3 {
NewWords = unescape(Words);9 `- z+ W, L7 S6 K, U9 b) w
document.write(NewWords)+ N/ ?5 @& V- H  }- O4 x& [" z
</SCRIPT>; S$ K7 b* |% G. h7 n- d
<BODY>! G/ {( J; G7 q
</BODY>
, ~( c/ Q% r8 g4 r! A</HTML>
4 a, J$ O1 M: ?0 ?3 @6 t! |* k- `  j% \8 d' L2 e
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:% u4 C9 K6 ^* H! l) s4 I
% q, g6 F, y/ O6 l7 `
<HTML><SCRIPT LANGUAGE="javascript">
. b7 ]2 {" ]" }& L* F% Tvar 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"
- L6 `( l/ J: f4 w1 Bvar NewWords;* Y% R! b9 W  H5 L! b1 l9 a
NewWords = unescape(Words);
* X) w: j7 j; A! [; qNewWords=NewWords.toString();
8 _5 Y& p5 i( b9 ~3 ^2 i2 _, Bfunction password(){3 M/ S/ {; i/ c- c5 G) A0 G! s
document.pw.txtpw.value=NewWords;. \) A$ y6 A" c2 g  A# J1 _! k' N6 c
}
: |1 r" {$ D5 a$ x& l/ {* O</SCRIPT>
. k8 ]: j! I. H- n! M3 v, [<BODY>, i* ]3 i% _1 q2 G1 {, U
<form name=pw>0 E% q) i4 c. K8 h: T
<input type=button onclick="password()" value="解密">
  Y8 c9 z0 P( i7 v; ]  I+ E9 ^<br>! Z( |0 a3 e, s
<textarea name="txtpw" cols="100" rows="100"></textarea>! ~" q) g5 c7 ?- f9 ]7 o: a' W1 g3 d0 m
</form>
, y0 F# w/ u3 g</BODY>, j1 C0 Q) _' q0 F5 ]
</HTML>
7 V- t/ [9 M! T! N3 ]* J, L0 [5 S$ r* y1 x+ H
方法二:
6 N' c/ [- a, ?# O& l- ]3 @  V3 A
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:* ?" ]& U( [& Z  |, p
( D+ L1 q& D* ~! W. K1 R3 f4 W
<html><head><script>
8 f9 k, j& j* h/ |6 ?$ Pfunction 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 ); }
, @  ]3 I( i) M" K/ O6 E* `( evar sJsCmds ="" +; A9 L4 h1 u" f: p( b! q
"?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" +
' [& E) J0 Q% L5 B"";
) J5 [6 k9 I& h# qvar s= Carbosoft( sJsCmds);
% a7 ^, e) G4 B+ G& `" M1 {. jdocument.write (s);
3 @" x+ {4 e1 C8 C1 _5 ^0 D</script>7 `, n( _/ U4 }1 i1 n7 n
</head><body></body></html>
6 L; Z6 h! i  V6 }$ P6 J& E3 s9 U' N
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:! u$ W, E# I  M# N$ w$ q

+ @; E) o3 b4 O: a2 F" N' c. j' X<script>
( t. O: B% J) K0 w3 M, j. u2 mfunction 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 ); }
# L) L: o% z! D6 j9 ]; Rvar sJsCmds ="" +5 N1 V; Z; O0 [4 q7 Y; m6 [! t0 H6 B
"?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" +
5 c$ R( Y" L$ d+ Y% s6 r: c"";
* n. L; ?9 j7 ]" @% z1 u! p# T! q; gvar s= Carbosoft( sJsCmds);! l! n% w* N6 H/ ^1 @! n
</script>7 e$ D& M9 B& F' G) y* u$ g/ w2 [
<form name=qq>
! f' J7 |0 L* N! B<textarea name=ww cols=100 rows=10></textarea>( n8 j, i9 f5 `9 ?5 ?7 k
<input onclick='ww.value=s' type=button value="解密">: b; x9 a- N$ s6 W4 L' V; {, Y/ B
</form>
' |- o5 ^5 a! h0 Q
$ `: I4 Y6 f, B8 t! F* A$ r) z/ G! m  @( w0 _8 |9 i4 F
方法三:
7 V; E# q- Q% z! q. _% h  T5 @
& [! k9 V' L/ f3 z2 Q  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
& Y. L7 O' W: d, x* ^+ M
+ [8 [  \. |. f+ {( ]: E3 h  K7 E<HTML>" {' M' m) S% {  K# x
<BODY>
* x  F$ `3 o* P* @6 V, X<SCRIPT LANGUAGE="javascript">& T, T, X; [  |# B
function Decode() {- G) E8 }2 F& r) G
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;}
1 q; A/ b* B$ X3 G+ ]</SCRIPT>: B# |" W5 z' j5 z- `
<SCRIPT LANGUAGE="javascript">: I' |' D& R4 E' `
function d (enc) {document.write(codeIt(key,enc));}8 N% l7 o1 G0 \. s! V" ]# e
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;}# a3 Z3 c: Q6 h3 r# t. E; C
</SCRIPT>
0 j4 r* f0 ~  w4 F<SCRIPT LANGUAGE="javascript">
; Y4 K* b2 h2 N" T' RDecode();8 S: e6 C6 _* U1 W- Q
</SCRIPT>
' L+ a; v6 z+ x. B. s</BODY>: L5 g# m0 R2 Y0 R' {  x3 [' b8 ?
</HTML>! P- K0 p; ?" e& ^7 ^

4 C$ w; N: g% Z+ I  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:/ h+ K) P- }! y+ r* N

6 |( z& F/ V" `  E3 l<HTML>
/ S3 E1 t6 q& K/ `( R, d. C6 o4 D5 R8 `( J<BODY>% ?% l2 q; F6 r3 m) K
<SCRIPT LANGUAGE="javascript">5 C% _6 z4 b; y" y% d. U
function Decode() {% F" S) P% R6 U9 E: {: U: l9 F
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;}
0 j5 A3 }) x' j( o</SCRIPT>4 h0 j! s' F- p: Z
<SCRIPT LANGUAGE="javascript">
* z; _* H" O* V0 Nfunction d (enc) {alert(codeIt(key,enc));}
! F" {3 k6 v, e# n( h/ b% e' Mvar 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& l5 t( k' x6 p! g
</SCRIPT>
: `- d. n2 |& }, M+ V& W2 z<SCRIPT LANGUAGE="javascript">
  J+ c  ~+ N. E+ H) \7 oDecode();
; K" |5 Z  L6 o& F7 V$ h. d+ j</SCRIPT>; a1 {5 H8 x- C
</BODY>
- E% G- @9 o% r3 w, z0 @6 T5 Y  X</HTML>. P$ p$ `/ Z- J9 K

1 B5 m# r( F! A- N+ N$ T  哈哈!!:=)是不是很精彩!!

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