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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!% v- a1 u9 c* F  J2 e1 v2 I

/ x% r- V# {0 T) a" J' B" C) W0 f0 f" y- C
方法一:
8 a6 }: ]/ n9 S6 ^2 _, Q3 o$ V( ]* t- |' W

3 p. P" v$ G" Z) H( C  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
+ m6 {! Z' E2 R3 k+ g  p, R4 x+ L2 L) U, J$ |
<HTML>* F, c$ q5 [/ }1 y$ _( J
<SCRIPT LANGUAGE="javascript">& N$ Y2 G4 i; R6 i) M8 P$ u
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"8 k9 h" X' I" N$ c0 Z
var NewWords;
- Z9 p2 e2 j1 C! \- INewWords = unescape(Words);- J& J! `! z& k: m4 G0 ]. m3 M
document.write(NewWords)
8 }2 s/ e, d  j) T</SCRIPT>
% u# E3 Q5 g1 \0 D6 K4 d: i<BODY>
5 e# n) X* o- d7 g+ D  {4 I</BODY>
% c4 n) b% W( ~8 ^% S2 s7 @</HTML>
2 v: k; Y: ]5 k) S3 j# U' a# A  R0 w0 O4 C$ P/ z" K# m3 P& l% c8 p
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
3 X$ C0 n- s) Z( F1 H' f+ T: @( i) j- t9 z" i* l
<HTML><SCRIPT LANGUAGE="javascript">9 {& k: t& y% `5 _- m2 o
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"- D* I6 A* J) D. _( w( L" x
var NewWords;
+ Q7 r0 x% F5 ~  D. A. T8 fNewWords = unescape(Words);
, }! \; E. U4 K8 V/ l$ O1 LNewWords=NewWords.toString();
" f7 B2 H6 _5 o* N! Afunction password(){9 _, i5 A3 i. \% P
document.pw.txtpw.value=NewWords;
1 ~7 X3 j, `! j& b}9 |. U! I4 A6 d" z' Q
</SCRIPT># X5 m9 ^0 }+ ~2 s5 v9 V. Y9 Q
<BODY>( m" U2 Q/ \! G4 K$ l- V
<form name=pw>
  X. o! |+ @( U% y* x" J/ z$ g3 Q+ }0 F<input type=button onclick="password()" value="解密">
! B  O4 j7 I" _, q, ~<br>8 G2 ]- e+ P+ D9 y. O$ H: p+ \) Z* z
<textarea name="txtpw" cols="100" rows="100"></textarea>
, u# Q+ w, l9 m' N6 p1 I</form>
" o- R1 D/ n. l, e1 C$ j</BODY>
; K6 y; m3 x/ a( t% L# R</HTML>
) f- e: o" F9 l; X* O  J# c
& {& L- Y* a; O2 _方法二:/ c: X+ O0 P0 f1 \, K6 s

4 }6 x0 b* n9 S4 M+ r  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:7 q3 T% I4 s  v/ C2 a6 G, y

7 f- }% T& @# ?7 B; v; g<html><head><script>
! {: Q. h  Y7 _2 ^3 g! ?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 ); }- \/ c6 \2 [' @3 l( a
var sJsCmds ="" +
4 J! M, X- @- n; I6 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" +- f3 ^. N6 H6 g% l: g
"";
" Z9 h9 j' h0 L7 H, I+ Fvar s= Carbosoft( sJsCmds);$ @% i% D6 W8 I. V  Z4 @  q( d
document.write (s);
+ X& X9 y* @6 t- J/ y, {: Y</script>
! B, a' g  N/ Z</head><body></body></html>  e3 J  r: ]  s

: L( s* q8 _  n% W: M( \  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:9 Z# J% S/ o, k& |
3 s: |) M6 N! a2 g1 v/ F$ j
<script>$ {/ S# @0 a; |& h6 q
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 ); }
- `% O5 B/ n/ I: w% ^) k7 o( Ovar sJsCmds ="" +
' D3 V/ z, `3 j7 k: E: Y8 z"?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" +* b# s5 U1 A9 s' F' Z7 M
"";
7 g- W5 ^6 H  }: bvar s= Carbosoft( sJsCmds);
# k9 L+ m$ }! }3 \' R4 i</script>" v- U3 [" q9 B# g7 h3 d( G. ?. I  J2 ~
<form name=qq>/ A7 G2 ~* G# t$ F5 R5 f4 A9 J6 Y
<textarea name=ww cols=100 rows=10></textarea>
+ z, W* D; V; |) I" q" a, Y  a" Y<input onclick='ww.value=s' type=button value="解密">5 |( Y8 E" c( h$ P# E' L, v8 e
</form>' n* p7 h- P  o; w% g( L
& N9 l  m( c+ G( F5 o; v! o% p

( T$ Z; u# [4 y方法三:
' ~" A( L% F7 ]$ t& n  ], _( z
5 E4 E, p" F4 L; t  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:8 C  i+ t. _. h. p& E. Z

7 c5 f1 Z% z8 L3 b3 B, u7 N<HTML>
: h, z$ T7 x! _) A: K% R- u% C<BODY>
) r: ^4 \1 g; q* }: v7 o  t<SCRIPT LANGUAGE="javascript">
9 S0 M& A+ h: X' e  d$ W! ufunction Decode() {
7 `- i8 H  L/ F; M5 Zd("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;}
$ a' _# b! ?. N9 R) X0 R0 ]</SCRIPT>
- E* g% U) ?( x. [) P- p<SCRIPT LANGUAGE="javascript">2 i& \; i& _- q) v  A6 E8 R
function d (enc) {document.write(codeIt(key,enc));}
; j- J5 o/ J* }% [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;}
  s: m: L# [% V+ z& r' v</SCRIPT>
, ]& ~  y# H) }, U, r; o6 u<SCRIPT LANGUAGE="javascript">3 Z  m0 @& v; J
Decode();. a3 X) k# L  Q$ q7 u. t: O
</SCRIPT>  {* S, k4 i  C( d
</BODY>
8 [' N. Q; s' H, H( K/ S2 q5 `</HTML>7 y* z4 Q& p. ?3 W0 l0 H; f
$ U4 a, b1 e( P" B: S8 S3 B
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:5 `% k: T" D& l3 {3 ^

! X; _  }" [6 i% @/ `<HTML>
+ Q& Y' J1 k' d. o4 a<BODY>
- @) l4 U: ^' y& b# a8 l5 z: s<SCRIPT LANGUAGE="javascript">& u4 l5 \- K8 y9 Z9 [
function Decode() {+ c" n! e7 \, E1 Y& n% c0 F
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;}2 \- A2 I; w. M6 z3 v
</SCRIPT>. L3 D. j, U* @0 j4 P
<SCRIPT LANGUAGE="javascript">0 l# H4 E1 B% C3 L3 g
function d (enc) {alert(codeIt(key,enc));}3 I2 G" t: H. q  l/ b1 Q
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;}
; D2 d* @6 O* S: m% \; j) Z</SCRIPT>
: h9 @0 ?4 i. k<SCRIPT LANGUAGE="javascript">
, P0 W/ N* q% O) k2 w9 M0 |; }8 L; DDecode();
& i& p: z* [. R. q3 h2 w</SCRIPT>( N% q, G0 J4 V3 s4 U
</BODY>; v, \2 f2 \% n0 U
</HTML>
1 W8 x1 {% S0 u
  G% t& o2 T+ T1 K$ O  哈哈!!:=)是不是很精彩!!

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