返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
4 u/ U4 ]  e- ~5 N6 W, W7 \0 p
5 L( [! \1 A( \3 r$ G& D# U: ]+ V4 s0 Q. c3 y
方法一:8 h0 n( `# @1 m3 S  K. \+ \, O9 Q

! ^7 a4 k. o# X. l$ F1 K; ~. I
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:: [" K2 m# k0 ]  W

9 w4 ~5 R% J  Q7 r$ x9 t<HTML>
4 i" w2 C9 g: R- H; ]<SCRIPT LANGUAGE="javascript">
+ d3 ^$ W3 ]6 D8 i7 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"
7 i" V  ~9 [) k" X0 ~2 Evar NewWords;
  w2 p8 N. @, ^" T& J8 ]$ pNewWords = unescape(Words);6 |/ L) W* o5 S3 i0 d  [) X
document.write(NewWords)
" Q$ q4 M" o5 h: f  }# X9 I</SCRIPT>' V0 }2 O* _% j1 c# P9 f1 z
<BODY>
3 @" `9 r3 T5 Y! l/ }</BODY>
. n/ B7 ^* K9 I7 \</HTML>4 M$ ?4 G. _! j9 h9 p0 k

& U8 u, `, L; O  y  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:, I" }) q; ?9 u8 d
7 p- y8 ^0 R7 t! u) v, g
<HTML><SCRIPT LANGUAGE="javascript">, {1 }( K' e( V: h- y, k  T' Y- b- u
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"
, c( a  X& G3 Bvar NewWords;
$ o* r  ?- n: p/ I( ?9 xNewWords = unescape(Words);
  \6 A% j: `9 v7 I, A4 |' W0 WNewWords=NewWords.toString();
% g  W0 q& W; @( e7 w0 c+ pfunction password(){
1 p- F, y" w; o4 ddocument.pw.txtpw.value=NewWords;) k& B' Y' G/ p  z: V
}
/ i% S  `$ R; \( F</SCRIPT>
: J5 D: G7 a. e<BODY>" s' V% G3 t6 m' ]5 L( N
<form name=pw>
2 T2 ~. o" V, R$ Y, k7 X( F<input type=button onclick="password()" value="解密">, e3 I0 G, Q2 Q
<br>( Z% _5 f+ g' _0 @0 b
<textarea name="txtpw" cols="100" rows="100"></textarea>
( b0 z" ?  P$ q( S$ [</form>) |7 V% ^" q% v0 F$ z5 ?
</BODY>$ L, O1 [5 o- ^4 [7 Z1 I: F
</HTML>
# d8 |' R0 Z7 c+ ?: d: f& g" X" v; {7 }8 S7 C( j+ T# U
方法二:
: J* v! u0 F4 x2 I+ ^* Z0 D4 _3 S/ {: m% K% h
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
3 R: \: I+ `! L/ ?5 K  ?4 @' F/ ^
/ v! ]8 {$ h/ g) U+ e% }3 t0 D<html><head><script>  F% E1 ~5 L. l+ R& x9 F  k# |
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 ); }
! {5 r9 o+ a+ y& ]3 n5 q8 v+ Evar sJsCmds ="" +4 C( k: X" Y$ K: c1 e* T* y0 G, ?, M
"?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( j  s( q, a/ u8 J, s' D' W8 ~"";
. H/ i+ j5 F1 _* ~* \: F) L) Nvar s= Carbosoft( sJsCmds);
' w& _) n7 t- z- x. cdocument.write (s);; R7 W8 F- q* W* N" T0 [6 ~
</script>
$ \" J: e! S* D* g</head><body></body></html>  ~' |7 n4 B( O1 E
7 G/ l7 F$ A7 ^6 d
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:4 @. L0 f4 `2 e

* Z& w  d. n9 _2 W; b<script>
+ C) d% D4 U0 ?. M  f/ z: _% Q7 zfunction 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 ); }4 [& V& j$ k# l8 P. [
var sJsCmds ="" +2 x/ Q8 ]- g0 X5 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" +0 c+ b% g  @5 w/ w2 t+ _
"";7 @9 r8 O: l9 J" o  B& S7 P
var s= Carbosoft( sJsCmds);
; v# R' s: s" H" ^- h  }3 Z: F</script>$ e8 g5 |/ |: P8 Q- }  U
<form name=qq>8 W$ v' n; D. ]2 K2 O' G) `6 u
<textarea name=ww cols=100 rows=10></textarea>
) Z  i( K8 W& z- V! M<input onclick='ww.value=s' type=button value="解密">+ L+ Q) X6 f! R) w$ ?/ {
</form>- N. I4 P/ E) Z+ X. y

7 j! e6 d$ x$ o- z8 W8 Q" G
, \$ [4 O5 X1 m" P% R% b方法三:
  B: U# v1 U; n" L# d" b8 L1 }# R% n+ G4 T$ f
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:8 q$ ]& K- c) @
8 D* W  Y4 v/ [3 n4 k% B# z
<HTML>
1 m/ ^$ x1 a( D<BODY>
- Z4 a* M( ~, ]5 o* Y9 A! U% H, m<SCRIPT LANGUAGE="javascript">
* m8 ?5 M+ l( {6 Yfunction Decode() {9 l1 m/ P, _& u3 b% R! s
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;}# D& v. a& S) l/ O0 X. x
</SCRIPT>
) ^( D4 O; ?6 G- [3 M<SCRIPT LANGUAGE="javascript">
& Q$ Y/ F# g6 n( T6 z2 xfunction d (enc) {document.write(codeIt(key,enc));}
$ L" J4 S' H2 ]( L- r( W( pvar 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;}1 n5 u$ k$ j: n  g
</SCRIPT>
* V* P. o/ u* U& F<SCRIPT LANGUAGE="javascript">' ]& y0 I# ~6 j. z- f% U" G
Decode();
9 S, v" `7 Z+ Q" y</SCRIPT>
6 T% F6 W; D" c' T4 n</BODY>/ [9 J% x3 |* T- X; X& o3 b! c4 J
</HTML>2 [5 W' W4 Z- x9 n/ V

" m/ Q+ a, {* ~/ f( \- o2 T  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
+ A* A0 j* K, s3 w* D! X6 [
2 o4 t( u0 o9 p( l* Q5 K6 H0 H<HTML>: D+ r0 m: D) A7 H: ?0 M) X
<BODY>; }" F' O2 L. _  T9 W, ]
<SCRIPT LANGUAGE="javascript">+ d4 h6 G4 J3 P8 I
function Decode() {1 j( T9 c6 f4 E% S& A
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 ^1 ^* y5 B3 l/ \9 W
</SCRIPT>
# _) \: R- B/ Z- w% g& y<SCRIPT LANGUAGE="javascript">
5 ~! `+ g: r9 Q- C8 C! R8 k! _! w$ @function d (enc) {alert(codeIt(key,enc));}
6 ^: p; c& z% 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;}. s$ R! O' U$ s* I8 ]: Y
</SCRIPT>
' B# C# W$ J) t' J  E<SCRIPT LANGUAGE="javascript">2 S6 D+ A- D# @0 a& n( f) H; o
Decode();
0 U: K& b3 S' ?) F7 M</SCRIPT>$ F/ `: ^! [. O4 C4 y& v! \. b
</BODY>/ b! U* E$ b2 j$ M
</HTML>$ r3 l2 v: \( b0 F/ V( p

/ v0 T/ `( m7 r( U1 D+ t* V9 ^! ~  哈哈!!:=)是不是很精彩!!

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