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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!; Y, m& y" K2 |2 T- `6 k, d* U

3 Q; p! P% R% n0 T9 R; h0 h# ~- z. f5 b
方法一:
2 i6 B# `: T. n9 v& N0 x: u6 D% n5 {; e- L+ F6 b# X

; z8 p8 e) u2 D5 D- v% _  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
6 K( H6 @' _" r% H* p
' Q$ R+ k4 o: D0 f/ r6 V! Z& b" K<HTML>. X+ R/ n0 i& G/ {- a2 ~2 Q3 L4 U
<SCRIPT LANGUAGE="javascript">
) a: ?% h! G3 _, u. 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"
; ?8 n$ g9 S0 ~1 K1 r$ b! N$ [: Z, {var NewWords;
) [( y7 p$ i0 Q$ v4 S/ D/ N  PNewWords = unescape(Words);+ e3 f  @5 E1 W8 c$ Y2 ^
document.write(NewWords)2 m# R9 a( H+ f% o0 @
</SCRIPT>6 v2 G. w& o* c2 a- B  r
<BODY>2 T8 H  z8 ]  _  `
</BODY># E5 g3 P, x9 H1 O% S, u: m  M6 B( G
</HTML>0 C# \3 t: a9 V+ q5 e

2 l7 o; B$ L0 j* H7 t5 Z  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
$ @* a5 P; j# x3 H( x0 y1 d% F8 t) U0 Y1 E! D( V
<HTML><SCRIPT LANGUAGE="javascript">
/ s, A! E1 l7 s5 `* Wvar 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: N' h; l2 K- i- O8 {% P/ h+ M$ k9 m
var NewWords;
! ^" j% e9 _) E! T8 J" mNewWords = unescape(Words);
7 k/ K% q8 `$ K6 n, |, UNewWords=NewWords.toString();
* ^8 ?% J7 B- rfunction password(){
0 ], d  _' W- x; `: x' Sdocument.pw.txtpw.value=NewWords;+ V& }+ o5 L# S- Z2 F
}! P, ~# j" g# F5 l
</SCRIPT>
- }* `8 U5 g8 y) s: e& b* t<BODY>
0 M' }+ E, Q; i- v/ b. G. Z<form name=pw>: P, ]; U' G0 W* v$ L
<input type=button onclick="password()" value="解密">
7 y' Y  \( T8 e0 r9 q<br>: V1 ?+ U2 E! C# h* S
<textarea name="txtpw" cols="100" rows="100"></textarea>! `$ _; P( Q8 O( n! s! ]
</form>
' `) S0 G+ ~$ s, L+ s( t8 e) Q</BODY>
7 c# x  m. v6 W8 d/ R- R" ~1 y</HTML>
' x) L4 [9 L, i+ i! l5 o% i1 h+ j" O- l) V
方法二:
1 n* E2 @, F7 z
8 ?& `7 L" `- Q$ e  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:# {' N2 e% C" g, U& i
! W2 D# z9 \% D% j& ^
<html><head><script>6 Y" M2 C4 y6 X& m8 z$ {
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 ); }
# Y* h0 j( ]% _" y4 `9 svar sJsCmds ="" +
. E6 L  s/ l  ~9 c; ~"?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 T6 g: v3 G* i- G. \# G"";
" t0 v% ~8 I  I' j  A$ Yvar s= Carbosoft( sJsCmds);4 w9 o- T. E6 @2 `1 E2 T( M) o: }1 Q
document.write (s);  [: e' W( U; g! D
</script>  T4 m, a% |7 i) A* Y( R7 X& {
</head><body></body></html>1 l0 c( n3 Y- [* p) `. o2 \
, W. f, F2 Z9 r& O9 H7 [
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:- }& ?" G* l9 U4 {. d
9 Y! U' r6 @* W" I) N4 U* I: _' Y, ^; s
<script>
8 X# M( @9 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 ); }
* n0 X1 }7 m" Z% R1 x$ P. c( xvar sJsCmds ="" +
  J: w5 y; [# U' ~) 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" +7 e* j' D' i2 b( M
"";. g% i  K, p# v+ `4 X
var s= Carbosoft( sJsCmds);1 s: @/ q9 }2 W" J8 a
</script>
4 v5 i- _) L/ K* Y( w<form name=qq>
6 H+ j2 w4 Z+ G5 M% \8 ^; Y<textarea name=ww cols=100 rows=10></textarea># g. Y, l7 d; r3 }0 i. j: F# W
<input onclick='ww.value=s' type=button value="解密">
, {% U2 |: F- [% P0 x1 ~1 P. J) j</form>
/ B4 f1 V3 Z( U' F, h' k2 z. ?. S5 P# J; h3 ]
% L3 S; K. A( Y, D! D
方法三:5 K8 Y+ t) O1 K0 g+ [# b# D

- I0 A) K* U9 u4 j. q) k/ d8 \1 x* i  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:# ^8 t& ]* i5 H( c
! ~- Z/ ?4 A% Y7 H# N; _
<HTML>
. _7 R( i0 {8 ~4 g9 X+ A<BODY>
+ \) g; Z0 ~" A( }! y5 S<SCRIPT LANGUAGE="javascript">
1 }* T1 K9 M- Mfunction Decode() {8 c9 J! ^2 |# b# h2 @! t$ y5 n7 K
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;}
; U3 V2 C6 Z" i& \1 {1 W</SCRIPT>
% o) G7 x' i, V2 P2 L9 y<SCRIPT LANGUAGE="javascript">
3 I5 L) }! y" i9 P; K1 N5 bfunction d (enc) {document.write(codeIt(key,enc));}0 C4 R% i6 ]. s4 c# Y
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;}5 c! ^/ R5 \" j0 B
</SCRIPT>8 T" p1 R+ w) ]' [3 j
<SCRIPT LANGUAGE="javascript">4 w* B. \* Y1 X, Y" M1 `7 V# G
Decode();
% a( F- U+ i( X( m6 B</SCRIPT>0 }+ b0 k+ B! l1 i
</BODY>
+ J; i: N" F2 U2 |5 p' u</HTML>
8 ]8 P, V: K3 Z  x7 r' ^" B# Y( I/ d( @, E( r
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:5 e3 m2 v' S( u9 x

9 ]% I! o, B9 p, s! j$ [<HTML>) ]! E3 ~- z* b) k. {
<BODY>
8 _3 E9 {3 _, X, t<SCRIPT LANGUAGE="javascript">: u7 M/ R' X  t$ q$ {% p" }
function Decode() {' f5 G0 N. p7 z& ]* y+ k. Q0 A4 M
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;}- S7 ~( ^& P. W4 j" ]
</SCRIPT>
! M8 [; i3 ^7 ^<SCRIPT LANGUAGE="javascript">
  ?: ?: q; R, }function d (enc) {alert(codeIt(key,enc));}
7 _. k0 j: c. r' s0 @4 O& R% cvar 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 d( E# l3 H& {) t! \1 @5 S/ `
</SCRIPT>$ g' d/ r/ |: @8 x
<SCRIPT LANGUAGE="javascript">
1 G7 {8 R) v5 {3 W6 Z* t& r% r  LDecode();/ O1 _3 y; N% Y$ s! Q' G8 z" q9 ]
</SCRIPT>% M; {! `- x$ G
</BODY>: j* M# W' y0 i% q9 t. x
</HTML>( k9 E& Y& f% |! S0 C
) m  P8 B+ t# W# F5 s
  哈哈!!:=)是不是很精彩!!

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