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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
# ~% M+ N9 C: M
5 e% C( n* u! w$ k) ]: F
- }  B1 I: G9 N5 G7 G方法一:2 ]6 y# K$ Y% F6 n) K3 q- V$ h

) \7 U' C: M" O$ o- {* }, C. \' q3 G! b4 l- D: d
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:+ s5 M4 h% [7 H) q+ k' v

9 R# ^  n; L7 @7 n) W1 f) G0 P<HTML>* _5 {2 \9 m0 d2 p/ b
<SCRIPT LANGUAGE="javascript">
3 B) X; |; [- Y2 w2 V) dvar 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": n: _& f9 i4 R% p+ A8 Z! p
var NewWords;
) G6 Y9 |# K- ~# WNewWords = unescape(Words);
4 c  e  O0 O  a6 @) d0 Y! Vdocument.write(NewWords)3 ~; T6 \+ C- u9 j5 f! y
</SCRIPT>; s" l0 i" F; ^5 d
<BODY>
- j- ]! t9 U8 L' W7 `) @</BODY>
6 x5 j( U6 L, s5 h! q+ r, H+ [</HTML>8 C+ L5 ?$ {  S- ~- ^9 _! V2 j" k6 b
- _5 L& P5 a/ _+ k
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:2 q4 r+ M& [4 K

7 }% g8 s! ?6 F! l3 C  l<HTML><SCRIPT LANGUAGE="javascript">
+ l" E; Q$ q: l" ?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"
3 B7 ^; W: g* g" M- K0 ~var NewWords;
1 j% O3 D$ j, q. g0 s' r0 t/ H* DNewWords = unescape(Words);
; }( \% B$ ^4 B% \$ HNewWords=NewWords.toString();
% s2 E8 p; @: y( K- F7 |function password(){
+ T6 b# B( o' s1 tdocument.pw.txtpw.value=NewWords;; ]* f: B8 \' w5 s& A: U" _* J3 P
}
- ~+ C) L. j8 R</SCRIPT>
2 {. |, I0 {9 t* E<BODY>' p# T- _5 d5 Q3 U0 V3 l8 C
<form name=pw>/ v% ^1 t' Q) J1 y% q: B
<input type=button onclick="password()" value="解密">
1 h6 r% ]+ l7 E$ Y" h$ Y0 C<br># k$ y$ k' U5 `/ ?- f! m
<textarea name="txtpw" cols="100" rows="100"></textarea>9 y+ w1 l% P3 g" h0 w; ^$ h9 \
</form>
) n2 l8 W3 j2 q0 M0 X1 i4 ~</BODY>& ]! G" u; {! S* S( |0 F
</HTML>
/ X2 l0 c3 y2 z+ e; u9 J2 Q8 a& K) G* w' f1 N
方法二:
+ V8 U+ ]* h2 o$ J) i
( u9 ^, @! a$ V6 C2 a/ n5 b5 D/ {  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:: u! n$ n+ w2 t

  z7 r- S$ e1 ?/ M9 o1 W7 ]& S. M<html><head><script>
6 i1 `0 y2 F- w: ^: O7 Hfunction 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 ); }0 l- U7 J* G: {3 |
var sJsCmds ="" +! a% Q9 s# P; y8 J- }% K; Q3 l
"?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" +
7 F$ {2 }; I9 K1 Z; B$ |"";# g) d# f+ u6 J
var s= Carbosoft( sJsCmds);
' D3 ]* E+ C. e9 idocument.write (s);
+ K( Q* @, J4 Q</script>! a$ B6 h8 ^- K( \
</head><body></body></html>. g6 |: ^: x3 W% l# f$ L6 ~

, M' j( N5 f% H- x; t# N, e0 F7 v  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:: v( Y5 s" B' _: k8 C
& Y/ `# Z0 Y9 M, T
<script>6 N1 N2 P$ a7 R8 ]) O
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 ); }! G/ b; Z# I4 R* a$ H5 T
var sJsCmds ="" +
( N% A- W9 b6 D& ^- g" @6 I"?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 v4 u6 S/ v$ D! s"";
* N  t9 e9 w! `' q7 x6 Y" O( `1 Pvar s= Carbosoft( sJsCmds);
7 h4 ]6 x& `; r3 I# Q/ E</script># ?( b7 e- X7 B0 O3 f
<form name=qq>
6 Y5 L* w$ E# q$ g<textarea name=ww cols=100 rows=10></textarea>  `) |/ X+ y4 Q* X1 c( z
<input onclick='ww.value=s' type=button value="解密">
0 E/ T, s" Z: t  f% I$ {! I; z</form>
5 E2 \- ]- t4 S, [+ p
: y& c1 a% |& a( `3 O; N
- `% w3 d. r/ \. z方法三:
7 s- z( s: n6 P7 [+ v# u
$ B" k# n0 d) d( n. u  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
, D1 Q4 q4 V$ Y& b+ {
' s% \/ r/ v% `" K4 @0 ]8 K<HTML>3 \- W. I: R" l$ h1 I& f: r& s$ t
<BODY>
6 s& ]! q- z2 @1 K<SCRIPT LANGUAGE="javascript">" m' i  x% o8 F" W
function Decode() {
4 `8 t5 f5 Z5 a" v4 S/ j8 {! _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;}/ L  ^3 c6 k5 W) @3 Y! U* r, v3 }
</SCRIPT>6 i& v: |6 N, R
<SCRIPT LANGUAGE="javascript">, H4 K, |0 A/ @
function d (enc) {document.write(codeIt(key,enc));}* u' u$ ^: e  e: ^" 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;}
" w/ N: `% ?" G- r4 a( O  v7 o; t</SCRIPT>
7 D. C6 k, r4 x4 k3 l<SCRIPT LANGUAGE="javascript">
& l" u8 a; v7 NDecode();. d. D9 {6 I6 r: \
</SCRIPT>* I2 i( M. d& E, T- m
</BODY>
; Z5 Z  a* R: ~5 k6 I</HTML>
5 ]; l4 [2 N, J7 ?/ K8 C, D6 B+ ^/ @/ H) b% p- G8 R/ Q3 e
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
: }7 H/ \$ l; P6 `+ }6 n  {5 Z& ^' v0 D1 D
<HTML>+ Z% ~; t+ P/ D6 F" c3 B0 w
<BODY>
. H! |1 _* R6 s- {3 k/ r# P<SCRIPT LANGUAGE="javascript">, \. e3 q. G4 g8 a' ~+ o/ z" X
function Decode() {
; l7 L- z3 [2 ]- V3 xd("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;}
* H& Z2 S* ?) L+ a: c7 F+ t</SCRIPT>
; e( z2 W0 h# A<SCRIPT LANGUAGE="javascript">1 `( D" A3 j1 _5 j
function d (enc) {alert(codeIt(key,enc));}
8 W% Q# R: A4 q' Avar 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* w' P  ^; o- j" d5 {</SCRIPT>
1 X* f* l; Y/ x<SCRIPT LANGUAGE="javascript">
! y0 A* `% y7 [$ gDecode();9 ^3 E7 f3 P% b6 i+ l
</SCRIPT>3 W) W+ G$ H* z# u; F
</BODY>
) m8 h3 E2 L: j5 j$ ?) y</HTML>. M3 j6 N% N7 Y/ i, C' W& k

  A$ Y7 E: y& r- l4 @  哈哈!!:=)是不是很精彩!!

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