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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
5 a. a5 l6 d" s: H( Q3 h1 r3 h8 v" u0 f
% A/ a% c6 H$ _- p$ q. j2 X' ~
方法一:, c) ]' A* X% n( v4 R

( r8 b! Y5 g& n" U6 U9 j! F: p
; q/ b, E- k' O2 U4 X: b4 g6 k6 @  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:8 ~- {1 J" ?7 \: J

4 S& H. j( I3 s4 @* |1 M" I<HTML>
9 @) d  _+ f2 M) y3 N1 k7 b<SCRIPT LANGUAGE="javascript">9 \6 R( H0 z" }* o& M
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"
" J+ S5 P7 a$ }) S- |2 Kvar NewWords;
& I/ V6 G  ^3 n$ V% w# uNewWords = unescape(Words);
( [% r: d( x4 Q8 ]- I( V) wdocument.write(NewWords)
# v, E  p& D# e% L5 _( {# J</SCRIPT>9 y1 X1 M$ P1 B2 `* T
<BODY>, k+ G. x# k" j9 A" S4 A0 L
</BODY>
( ^! g2 e" h. B& J$ F0 B+ a5 b2 V</HTML>; I5 }) Z7 W+ S1 q% n1 S$ ?/ U( ~: T0 }

  i+ z5 Z9 C3 O  J  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:8 e$ q8 I# b  r
" [1 X- F3 g4 A) T. A; v
<HTML><SCRIPT LANGUAGE="javascript">; o4 A: `, \* x! d0 E: e7 ^
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"6 T2 D) |" d" E
var NewWords;% n/ ]& u/ t" W. H$ Q6 v* i8 c
NewWords = unescape(Words);2 [$ a* M- d" y& d
NewWords=NewWords.toString();) k. V/ A, J! e8 c9 W; x
function password(){+ q( o3 p! b; y% T) X# r  ]* B$ M
document.pw.txtpw.value=NewWords;4 X# u; f4 r. e8 p# k& ~
}% u) a) o. D* s
</SCRIPT>: S$ p2 y" S  V
<BODY>
( i) U/ \! K7 |, b2 E2 w<form name=pw>1 I4 `* f3 v0 f* i8 S
<input type=button onclick="password()" value="解密"># z6 {, J. h0 _, X( {
<br>3 o7 \& g2 h& X7 i! W/ D1 v
<textarea name="txtpw" cols="100" rows="100"></textarea>
- M# A2 ~' t- @% X4 O! S. _. K9 t</form>
! A- j: S1 E; C" f# |3 L$ u" K& ^& m</BODY>
' l5 \4 k8 Y5 G" [9 E+ r* W</HTML>
$ t9 B  X, b0 i% G) ~2 y7 h9 B! M  _
方法二:
6 w- O- V6 L8 T3 |3 ?
/ Z: ^" X* b0 u: h! f( n  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:3 o& Y( o) g6 Y8 B
7 k+ }/ \: |, q! N1 g9 |  n1 y& v
<html><head><script>+ J% A6 d: V* O: N; n' l- @
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 ); }
2 U5 [; j/ \+ Z% }5 L/ D& Yvar sJsCmds ="" +  G7 M( t$ q( N
"?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 ^8 @- o3 Y* o7 ]
"";
. X9 h  y2 T$ w: e* B1 fvar s= Carbosoft( sJsCmds);" v' O% }5 ^* v- A* n; z5 y7 D5 Q
document.write (s);
5 W: H( N! t  T0 u- h</script>- N8 [4 ~* ^3 _# S* v# q4 y
</head><body></body></html>
0 ~5 G1 L: l3 x. o. s, r/ l2 g# k
# O5 l9 B& y1 h& f2 w  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
8 r/ \: [! g7 h2 E2 F( l4 `0 l: S- D. k2 @' O9 i8 R/ \* _
<script>
0 g: M# O$ O* G. q; i( D7 \! {7 Ufunction 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 ); }
6 r% E( A; c' I+ Uvar sJsCmds ="" +* i( P" l! I0 Z# p
"?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 ]3 l0 k* Y. ^' Z( v' f1 A, t"";# X7 d- T$ h) I  {- Q
var s= Carbosoft( sJsCmds);; T$ k' {  e, h0 f' U5 {8 Z$ j# D/ B
</script>
6 Y1 p6 f( r- m  O0 w8 r" s<form name=qq>
% k# ]# u2 x& S9 Y' R. y<textarea name=ww cols=100 rows=10></textarea>5 R9 V: L6 j; J/ ~' ]" W2 h
<input onclick='ww.value=s' type=button value="解密">! j4 H: h9 Y5 a# h' d
</form>
& r+ k0 M) A! c! z2 T( x& J/ M- f! k6 z# f1 V4 T, x
2 e8 ~. c4 n) W: Q4 V
方法三:1 k: w; G- x* V7 Z4 Q
8 a& q/ V( \; J& I
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:: ], R% I; \- W, O# X$ u; @) D

) r% d/ G! S0 I1 @<HTML>* G7 Q! l: [7 o0 K# i" A
<BODY>
$ o" k6 J/ o6 a; o6 X, p<SCRIPT LANGUAGE="javascript">- l% C; T) V* j5 Y
function Decode() {/ S) A2 i" _( E$ A/ B% Z' Q
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;}
8 a! ~; r7 n0 D; B0 ?</SCRIPT>
9 ~1 L3 h6 p$ V<SCRIPT LANGUAGE="javascript"># T" O7 o$ r' G4 g0 V
function d (enc) {document.write(codeIt(key,enc));}' I3 V' r; B. T, K3 T* R7 u% S
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 q8 |# E& _: M; T
</SCRIPT>" A& F+ g$ M$ t7 ^
<SCRIPT LANGUAGE="javascript">
3 Z+ n) K/ G( J% Q  x/ J1 mDecode();
  ?, c- I9 g0 l' L  e7 b1 m</SCRIPT>. p* [4 I! X7 g+ f, N* D8 @+ ]8 Z
</BODY>
5 i* V: O+ {1 f7 O" a6 a</HTML>/ F- Z* C( p( H

7 @+ ]% p9 W0 v8 ]  @  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:3 K) q8 v: h7 A6 c
3 b& n9 X- _! N/ ~3 k
<HTML>
# Y( h  ^' l) {1 f) n- M<BODY>
/ \1 M# q! t) Z% G& T/ \# r. u/ N<SCRIPT LANGUAGE="javascript">
1 X) u3 X* S! R* ~# F. _function Decode() {) l, J5 A- p) k! \9 Z, }4 L- W
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;}
) n  w3 a- k. D' q" ]5 ^</SCRIPT>& V  Z" i' y* b' ^* T- q6 g
<SCRIPT LANGUAGE="javascript">
) B$ c8 \& x  l; jfunction d (enc) {alert(codeIt(key,enc));}7 L% v- P2 {3 V1 ]
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;}
: f' G+ i% k5 j: \  L( w" A</SCRIPT>
6 Z( s) ~8 g9 K4 U* H  t<SCRIPT LANGUAGE="javascript"># x# k. }4 F/ S$ p
Decode();
; j3 y: X! i* U9 N* w</SCRIPT>* i& j1 q/ |% z' N. ~' S% u# ~1 b
</BODY>
0 {4 l* j9 y/ ?7 I* O1 \3 ~</HTML>
( Z6 X5 r6 `$ Q+ ~  d7 U' _% a  u$ z. A' N% x! [8 W, {
  哈哈!!:=)是不是很精彩!!

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