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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
$ ^, \, ^( i- k8 |8 ~) |$ g. s! v' n1 A

4 m2 @4 ^9 |, d" w5 d0 D) H( B; b方法一:
( E+ t/ T- N" O0 N; @9 J  E1 e1 A2 M  |% N) _. H# O' `

  P- |, I5 O: d. U* P  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
, f/ D) t1 K  n5 Q9 b, P7 B! s5 P; K# R0 M$ {
<HTML>0 Z1 N/ \9 L+ U; `5 P
<SCRIPT LANGUAGE="javascript">
9 X$ @6 U& u: d* S# R  W. L- evar 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 Y. s+ C. h' ]
var NewWords;$ }0 p& o0 n5 l" ~' T5 M4 L3 N/ Q
NewWords = unescape(Words);( x* \) M0 n9 f
document.write(NewWords). n) j2 _6 j4 h  f: s1 H
</SCRIPT>
, L& S9 T4 t# M<BODY>
) E6 B' w8 S( r" L, U; h9 u# G# w</BODY>
& c. b# C0 N( M</HTML>
2 R. y7 V; Q; h% E, H
, p9 ^1 v: C. @' j+ v; D  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
3 _8 A$ y9 C- w. U6 _8 t& ]* V7 J: v  k1 b' J
<HTML><SCRIPT LANGUAGE="javascript">
+ M3 ^; a( E7 ?$ Fvar 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"" V) l( q) s8 R& p" I  ~: s- w
var NewWords;' r/ q/ N$ ]8 d( S
NewWords = unescape(Words);
) K3 s+ Y( V% A" M" V/ V6 e2 P) UNewWords=NewWords.toString();8 {6 g0 P  V; l) R7 g
function password(){
8 u% G/ ?( V0 S% K# Ddocument.pw.txtpw.value=NewWords;8 D/ H+ f+ G, j3 R+ y. d& D, m$ p
}
& y* W; Z0 C( q9 W, b! Y: N</SCRIPT>
$ j% j' N$ d! B<BODY>/ O* {% g  ~; H7 x8 N
<form name=pw>
* ~7 y6 P3 A0 I- S  r<input type=button onclick="password()" value="解密">9 @0 i6 W. w8 y, [1 x, {
<br>' b/ B+ G0 x- s" k2 J
<textarea name="txtpw" cols="100" rows="100"></textarea>" e  L4 q! p8 y5 v7 H' \7 `  y# ]+ T
</form>: p5 Y" u9 V. Z/ v3 |4 g8 l
</BODY>4 ?& X4 S: b) {
</HTML>
9 H& U7 U! S" b+ O& R1 ]( X0 H
# h4 G2 I6 m$ B2 A" T! o% c5 x方法二:
! b. \- J# o8 V/ N2 ~3 v6 j
3 m6 c' l* ?7 u- A  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
0 i3 v+ i6 G8 d6 }) Q# b
; O( x3 R0 Z+ z' l7 t1 g1 P6 R<html><head><script>9 k7 a4 M/ g0 _' I! [
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 ); }) i# q! F3 N9 R6 [5 {
var sJsCmds ="" +. H, f( k( V  C! L3 \/ 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" +8 ~$ G  A9 \: l  [" a& T$ y
"";4 A% p* u, P5 b. i# b, c! n7 x8 f( \
var s= Carbosoft( sJsCmds);
: q7 @) p( ]# Z% R- E) Ddocument.write (s);( ^/ |/ m3 |$ r, h0 y
</script>- `% T# ~. s# }# f2 d8 R" y2 y' Y5 w
</head><body></body></html>' @- F8 W* Z- J: s9 {) [- g

3 T  S7 Z# @+ M  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
$ G' x0 U) T8 |2 L3 M$ P* i4 i- I. m0 [5 P. M5 F
<script>4 A2 _# O1 B) ]
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 ); }, |! r0 ?- r& D  W8 A  z- ]% A
var sJsCmds ="" +
$ z! y) j4 u9 f"?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" +1 G6 O8 c6 m- W; T& v: L
"";& g* w1 s: r. g! x7 v8 R
var s= Carbosoft( sJsCmds);( T. _! t# W  v
</script>
" i7 M$ f8 y, e/ j% s<form name=qq>$ z. `' P! i; x' \3 O
<textarea name=ww cols=100 rows=10></textarea>
! }/ O. F! d/ ?! f+ F& P<input onclick='ww.value=s' type=button value="解密">
* o, G; Z2 i, O% D) e3 Z. j</form>
* A# w6 T$ C8 b! E6 q* e, e: }1 ^! W$ }
% O. ^* W( `6 ~1 h; e
方法三:! X. S& j) S$ H  ]0 x

7 ]# M4 E- A/ t# u. O& P  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:2 H( q/ }" P4 T5 n& [9 k; k4 z
( {4 s) |  i& ?2 x$ M
<HTML>
( w0 _% h5 U  q/ m3 e, S<BODY>2 b; G7 N( [: h$ {. e
<SCRIPT LANGUAGE="javascript">
' G; t' O% `9 p5 ofunction Decode() {* M6 W5 a2 r: y# D
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;}- j& }" y  a6 ?6 E3 p% l0 |, L
</SCRIPT>
  |* v) H4 S! Z+ J8 H<SCRIPT LANGUAGE="javascript">
$ p' x1 F% ^, ~function d (enc) {document.write(codeIt(key,enc));}
/ B" j! Y0 D1 k/ L* }. Yvar 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;}: X, N6 b8 d; \1 {( j% W# D
</SCRIPT>
$ l& ?8 ?2 c. Q9 _4 O5 s; `<SCRIPT LANGUAGE="javascript">6 g* j1 ]( W( @- U
Decode();
1 d  i0 ?' i( {' N# A</SCRIPT>
- F0 b) T8 v9 k; Q7 e" e</BODY>
$ C, x( J2 y* v+ |8 ^</HTML>- h% X9 L( |: O% J( v

6 q/ Z9 K/ `1 d/ n  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:! t: b6 o  @4 ]" k3 G; c

, _- F  y/ @5 O. V6 V9 _0 K, @<HTML>
5 y0 G" ?; h0 [; y$ j<BODY>
% \5 U0 L' i  ~! ?6 V4 K+ R<SCRIPT LANGUAGE="javascript">
, _' P7 M! H7 p9 i3 L( M: ffunction Decode() {; P. w0 T" s9 b
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 ]4 @' D2 [/ _</SCRIPT>5 P3 |6 N0 m; X  M- S4 b9 ?8 i$ U+ ]
<SCRIPT LANGUAGE="javascript">
* p: D5 g7 j8 `" J8 Ofunction d (enc) {alert(codeIt(key,enc));}( H0 P. V) b! C$ b
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;}4 J1 t- J/ p' ]  X
</SCRIPT>9 M4 B* C8 t0 N: t
<SCRIPT LANGUAGE="javascript">
  j2 ~1 o5 \' V$ N- f& j5 r( |1 C6 LDecode();5 {2 i( C! w9 Y& ?1 n' n
</SCRIPT>7 s8 f! G! ^7 }; l- U7 g& K4 w
</BODY>
2 \, i! H3 ?- a</HTML>- n- B# H% E) x! S

+ [: \3 ]. f: ~# |  P/ P' S4 X" u& r: R  哈哈!!:=)是不是很精彩!!

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