返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
( i* q' @) y0 o7 R- D& p  x! E) i, M0 G& B  ]- a2 m
9 J) Q& P1 W+ b- y
方法一:+ F; s( w# j2 `- U5 R# p% c
! k( s3 i# P1 }# ^
2 L' c4 j: l0 ~+ y2 P- {  U
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
) }* Y" {' n. ?; x9 ~, J: n& L5 A! @2 w3 e$ k: u- A$ ^6 ~
<HTML>
" v; b/ T! L/ v3 V/ l<SCRIPT LANGUAGE="javascript">: b3 @; z9 ?! I$ W5 n) f% {
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"
1 r7 S! i3 e# ~var NewWords;2 e6 j2 T8 W4 \$ ^) l; J
NewWords = unescape(Words);8 g7 T: i/ T$ @) G5 C( x1 a% X- n5 }
document.write(NewWords)- H3 T7 n' H3 q: ?
</SCRIPT>8 E; B8 F8 o0 z: @8 ]7 @, l$ s
<BODY>
/ J2 M& A% m! h* r# w</BODY>2 A( D" u  r9 x
</HTML>
# b  B2 V& L2 g9 {6 R+ b8 i" P5 a$ X* m5 K" F' Z) b  _' m
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
. t- D& a. b9 S/ }
$ ?8 G! a( f0 {. C+ ?+ C9 J, f<HTML><SCRIPT LANGUAGE="javascript">
& N9 h4 ^6 E+ S5 g) A- [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"
: c4 n; N2 ~7 r  u! u# x) Avar NewWords;
4 h9 A7 ~' M6 z& m" lNewWords = unescape(Words);6 \" j% e, A7 F; e" v5 g
NewWords=NewWords.toString();
( f5 a0 L0 Q  F3 ~: b5 @- {& o& Pfunction password(){: t9 `9 {1 E9 q5 y. e
document.pw.txtpw.value=NewWords;/ L% w+ W8 U' H% R7 Q" H9 q% v( Q
}4 k# ?0 Z$ A) y. S! k, B  Z5 _
</SCRIPT>
/ M( T$ u5 p% B- _<BODY>3 G' Z: _) n3 T9 N) K9 f
<form name=pw>; M' J0 |' f$ r) Z9 j% H* v% D
<input type=button onclick="password()" value="解密">
5 |; y; o2 y- M# P9 h. j/ h<br>" `) ~) h" d. [' }$ y3 \/ m! \
<textarea name="txtpw" cols="100" rows="100"></textarea>
% I5 q6 T( i/ y& o. p1 {</form>
) h( H5 B+ _# e8 ~# j3 I( x</BODY>
  W  |0 P4 ^" A</HTML>7 k+ T# z7 K: k2 D+ d

$ V' B. Q( q8 H7 J& O6 X方法二:
2 D& x2 a1 f! d' q5 W0 r
( |! b: J2 h  j8 Y* f0 A6 ]  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
! h0 `1 ~( g" i6 ~6 C. [" w7 y3 X- |
/ V" e4 D( h+ f) F<html><head><script>
+ t$ _+ L0 N' p4 w+ n$ a, [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 ); }! r" X9 K+ y3 s, M6 t6 \
var sJsCmds ="" +1 o% Q* ?  _. V1 _  z$ 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" +* X' v8 A* z+ L5 `: @5 Z& D
"";
$ I! z: q/ A- |- I3 Wvar s= Carbosoft( sJsCmds);
: E8 U  f2 G& _" S3 {) v8 j# _document.write (s);$ @  f1 C( L* _& F  F
</script>. C: d* c: }/ V
</head><body></body></html>' K8 P  _( X" @

0 w' N6 R' K; c/ W2 t# J( D; ~% T  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
  c$ S% @5 _0 H6 v' W  a0 Q4 {9 b$ V  h8 [# B( D5 x
<script>3 Q+ Q( ^% r7 L, r( T( z; D0 W6 D( @
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 ); }  o0 B9 O! ^0 C" ~
var sJsCmds ="" +% H7 n4 k% n( T$ ]! s6 Z! U/ U# D/ j
"?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 ?. M4 B+ a6 F6 a4 a$ d"";, x, u' T' m- q
var s= Carbosoft( sJsCmds);
: O0 E' `8 `* }' M! Q</script>
& A2 b/ W5 O2 I<form name=qq>
" w5 V. _7 \- Y" b<textarea name=ww cols=100 rows=10></textarea>
( X; V" r, z0 r" C<input onclick='ww.value=s' type=button value="解密"># y; [1 U5 F; I( N9 A
</form>
3 R+ {0 N& F- s
% L. D# j2 w. y2 v) |- G4 K/ N
* B7 z7 ]' q- }. H% u方法三:! x$ |! c% [; W/ ~

* D; t- x, p) ~/ ?4 y8 W% K  ]2 P  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:2 |5 {  j8 \, {4 Y$ G

+ X) l& R" ]6 U9 s8 q# a<HTML>8 E$ z2 P4 A% `; \
<BODY>
/ S( E- R4 W( f. W3 H<SCRIPT LANGUAGE="javascript">
3 g8 N1 P. ~) q/ L' s  m+ ?function Decode() {8 U6 c2 [- |, |1 q. v3 l
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;}% w* y5 C" [2 j: _
</SCRIPT>
8 _2 C- L$ h9 t: @<SCRIPT LANGUAGE="javascript">" u1 p+ n# k, c* A% E
function d (enc) {document.write(codeIt(key,enc));}
1 y: a' p: G. K+ r8 x( X5 _9 Tvar 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 q: c3 t& j# m* [2 g
</SCRIPT>
  a% v) }! z3 F7 z& @2 M+ I* h7 L" ^6 N<SCRIPT LANGUAGE="javascript">+ Q4 Z5 g0 t+ j, O' n/ J
Decode();
/ X- y2 ^# a4 e</SCRIPT>
( v2 K+ F7 n2 o: c</BODY>
4 b3 m7 ?4 c: y. c6 ^</HTML>
* P+ N5 m8 _" m" W8 ^+ W( _( \/ u" J7 j( l
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
( s) ?+ q9 y& @" K: n0 F& ^2 z. Y
<HTML>
5 Q+ [- a) n* Y) }) Y<BODY>9 j6 f8 g( [, j6 T  s( U" B# P
<SCRIPT LANGUAGE="javascript">
/ ^' A+ J0 s+ [" @  Ffunction Decode() {6 E  v/ U" a5 m4 ]
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;}4 }' P9 m( U  _8 A7 {
</SCRIPT>
; c3 j) x1 x# q<SCRIPT LANGUAGE="javascript">% q) G) [# S! `
function d (enc) {alert(codeIt(key,enc));}$ F1 s% _2 U( H
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;}& w* ^- M$ P( y0 C2 Y
</SCRIPT>2 K$ m1 B# ^) |7 |! x8 d8 @9 M
<SCRIPT LANGUAGE="javascript">
5 |8 j9 L' ^) A* I' k1 _Decode();
7 T0 a+ x6 N, b</SCRIPT>
0 i% i7 r2 {- X4 z; M</BODY>; B9 E  Y" _) L" F& m$ d, i
</HTML>) Y" ]4 V( d; Q8 F
9 c' B7 K, j# L  X
  哈哈!!:=)是不是很精彩!!

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