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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
& S9 z; O. S1 S7 _- U8 D$ d: T0 M6 Y9 C* g+ H6 `+ L+ T0 ]$ c" X

8 N9 |5 Y6 R; K1 y( j方法一:
! ?' l# x7 X( Z2 f. b8 [5 ]  @
) ^. A; U& z5 |; `# e) a
/ A4 A3 y+ c+ }$ g+ N9 g0 A  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
9 X" }) ?' J; c& I1 k  G- o& B6 {8 [9 v0 C
<HTML>
% ^1 S- b1 Y% O) r! v<SCRIPT LANGUAGE="javascript">7 B$ B1 f3 Z  q$ ^8 D
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"; `% x  X; i" x- F, I1 M7 p
var NewWords;
8 }9 Q% i6 T" K6 @+ k: I- G- {NewWords = unescape(Words);
1 p" ?( S/ v, @document.write(NewWords)
  c6 \( o3 {8 m! w5 @) `7 T2 {</SCRIPT>
& k8 V) C' d6 |9 T7 p<BODY>" _* o2 J; ^- B- p
</BODY>8 N0 H' }1 J/ ^! x* n
</HTML>* j, v/ I+ x' I, s

1 X5 _$ \5 x+ A  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:; `% w+ V; T" q$ t) B# K/ M6 [  t6 Z

1 R- ~$ o7 E- [7 |; t. X3 _8 r<HTML><SCRIPT LANGUAGE="javascript">, C, W* u/ x' Z: P  C
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"
- N4 E9 \$ j- O7 e; Wvar NewWords;
$ r: U7 {5 n9 L/ u- E/ w5 xNewWords = unescape(Words);
# m7 O& |% m4 S: rNewWords=NewWords.toString();& [1 K, ~4 y% q, G  g! T/ p
function password(){
+ L3 q3 G+ t. }7 }* w# ndocument.pw.txtpw.value=NewWords;+ A# U( g) l* L. G2 q! W
}3 e$ q# V5 N* J# _. `  i! ^
</SCRIPT>
1 T$ v. w  T& S+ z) B7 V<BODY>9 ]2 k# h9 F$ ^
<form name=pw>) z/ x& a6 |3 A" L. q  Y3 M) V
<input type=button onclick="password()" value="解密">
( [6 X" Q5 m  X) T6 R<br>
3 W% j  O7 j' i0 l+ ~5 _$ n<textarea name="txtpw" cols="100" rows="100"></textarea>: x% X4 X$ W* b4 D, O
</form>; M! P0 O# @1 X& a4 ~
</BODY>
% @) w- ]7 E: {+ u; g  s+ O7 k</HTML>
3 C, Q% u4 c( k& g3 J$ ?  A, N: B; H! z
方法二:+ A$ L" C) G9 ^( a3 Y

5 W, K2 C+ ]4 {$ M4 L/ g6 t8 \  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:/ r3 X; G/ P/ z6 L4 @3 U
( s) Q5 O+ }: R3 L4 Z9 m  l& N
<html><head><script>! r6 H5 U* _4 k- C
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 ); }* n: k3 V4 l$ @7 y; M9 f
var sJsCmds ="" +
' e$ z: l: D0 m( H) Y. e5 w1 J2 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" +3 p; o/ w& f, Z3 x2 z% s" O
"";8 D, H$ z1 L1 \+ O) Q
var s= Carbosoft( sJsCmds);: X$ \6 u6 Z2 v5 {2 j
document.write (s);# h8 A/ v9 B8 X3 x- t' F
</script>- `! C2 J0 ^" w+ u- H0 a# t- |
</head><body></body></html>; ^9 i8 S$ _" t1 ^- S" e( S7 g

, Q) U0 D# L8 a) C: g  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
: a3 g! N9 Y% J, u
: h4 B5 V: t2 f/ M* {$ f<script>$ r; m( i+ @) }- l2 N" V8 X
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 ); }
/ M1 x- t9 V6 o( f/ t3 p+ U/ Vvar sJsCmds ="" +0 B3 ]: C! a. P. U4 `' V  H
"?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" +
5 C8 F; Q& b% k, }"";
& Z& a8 e9 V- |8 Z/ m0 W1 qvar s= Carbosoft( sJsCmds);5 G2 B) i3 g9 q; v1 }0 \
</script>
' R9 P. B7 Y2 l* }1 P8 Z6 _1 q% ~/ F( x<form name=qq>
6 G3 P- t' c" M$ ^5 o9 T5 ?7 F<textarea name=ww cols=100 rows=10></textarea>5 u$ q$ o  i6 B8 g
<input onclick='ww.value=s' type=button value="解密">' g5 [, M2 e. a- A4 H1 N
</form>
. Y; k& y6 Z2 Y8 X/ ]: P4 t3 k" |) T# H3 T% W! }+ ~: }* F

& z0 `+ |7 e$ ~% M方法三:: }" y. @4 \' l

4 W. R) s5 x6 E6 p. X( H+ Q  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
& x8 S5 h, H% A% i) y( A9 a( A- j" X4 n% V
<HTML>7 H* ]3 L9 i/ {
<BODY>
  @# g# c) |' W1 Y8 ?% W5 ]5 T0 q<SCRIPT LANGUAGE="javascript">
) A# K5 X& |0 t6 ?  y2 F# |; x" b, Kfunction Decode() {
3 v2 f, z. Y# o; md("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  ~; G2 N3 b$ h6 Y</SCRIPT>
  D* l' ~/ ^7 k3 r8 m9 E<SCRIPT LANGUAGE="javascript">$ d$ [  d2 i* N; P  X( Z
function d (enc) {document.write(codeIt(key,enc));}
7 J( w9 b/ \3 ?/ A! T4 t, v8 T5 Bvar 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. j5 g+ W7 c7 j& ~6 G2 A
</SCRIPT>
5 H% B, D; {. L) a2 X3 O<SCRIPT LANGUAGE="javascript">
) i, }2 _) n* y/ g* eDecode();
% t& T% {& J% i% ]</SCRIPT>0 W2 M8 C' `, m. u1 w2 X; \
</BODY>
3 I/ v- v. r, X</HTML>, r( x* q$ U5 X/ A  W
% b& B  J/ H1 Y
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:8 _) H* m5 d9 R7 R
1 H  q/ y! }% n$ d8 K; T8 E7 L
<HTML>
; O+ Y* r3 o* T4 {  l<BODY>
# _- A4 X6 s2 `/ b/ t9 i" \<SCRIPT LANGUAGE="javascript">2 d' r) R" ~* |6 Q) ~2 r& Y
function Decode() {
3 G3 M' F/ m  ]9 M5 ^! Q  ?8 cd("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;}
; e7 c' x3 A! r0 o3 ?8 U6 G</SCRIPT>3 }2 Z( Y0 p% O* t. y: y% N! }
<SCRIPT LANGUAGE="javascript">+ j: ]$ _7 f# [  V: U
function d (enc) {alert(codeIt(key,enc));}
/ U3 y/ r! }/ V* x- |1 P' K6 R: 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;}2 B, G4 b# I; R4 r  y3 U4 z
</SCRIPT>
, q' H9 |6 K$ n: U' g# \<SCRIPT LANGUAGE="javascript">. p+ K. ^; @: m  k
Decode();) A  `* ]* A! }. E
</SCRIPT>& k  Y) n- S( G0 s( _
</BODY>
  b1 h! v! [4 ?, |. B6 T</HTML>
0 z/ E; `- }6 r4 X6 q
# ^+ S$ ~- D8 ?  哈哈!!:=)是不是很精彩!!

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