返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
% u9 M/ i( B1 J! N) J. o( G' N4 C2 W
! M, F5 Y0 l) D( j2 U1 ^# Z& ^0 z2 g6 k
方法一:  ]% K5 Z. R* s* B% q

+ Y. W. B4 |+ r
% Q5 l0 R! G2 f) j+ f+ g  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
/ p- j5 T5 A! J5 q/ ]; f; D+ ^& ~- e2 p5 J: z
<HTML>4 W- m3 \9 C5 L& Y
<SCRIPT LANGUAGE="javascript">+ i& ~* [' n1 e- M5 O8 \( v, [$ e
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"
% b3 `7 N1 {& x7 \& Y: N  D% E$ w3 cvar NewWords;
& w7 m7 Y* `+ p, H/ w8 nNewWords = unescape(Words);
. g# Q8 x$ I2 e* s0 Z9 Udocument.write(NewWords)% {% D4 t/ f3 W/ @5 H; j
</SCRIPT>
% ?2 n9 q. l( `1 K( s9 c* p' [<BODY>
) h. u& r! d6 R7 \' `& E- t5 {& M</BODY>) I5 Z, S/ h; ^% _2 a8 _! n9 X
</HTML>) x0 v1 B7 b4 C" q; a

$ ?* C* ~8 o. Y/ e6 h  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:! b# Y4 J: W2 f6 u# ]6 Y' n4 O7 ^5 p

' l; h' Z+ r$ R) b' b<HTML><SCRIPT LANGUAGE="javascript">  u9 T+ U" e/ H  }; X+ m$ @) z
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"
( }( _  n1 t4 e( ?% o3 Avar NewWords;3 q  i* Z9 e$ C7 I6 ^; M
NewWords = unescape(Words);. t. ?6 [. `. X( M+ w) ]
NewWords=NewWords.toString();9 k5 k* B6 D9 Y& H% V: }
function password(){
( L8 g1 B  |( ?( l9 I3 n3 v5 jdocument.pw.txtpw.value=NewWords;& U7 e$ b; p; G. ^6 U- }9 K
}) W4 c  p1 g' D( x0 V% }- l
</SCRIPT>
8 v) D% |! ]% s- f4 A& F<BODY>
! ~. p8 d+ |; G7 [3 Z<form name=pw>3 m$ h* x8 d2 W/ r3 X6 m8 E5 r! b8 Q) T
<input type=button onclick="password()" value="解密">5 A/ P; Z1 s& M6 w
<br>. {* r$ j; P$ F$ T
<textarea name="txtpw" cols="100" rows="100"></textarea>
% [0 ]) p0 ?) _2 e: B6 _, o</form>
  v+ A% a$ R/ G( B1 J- Y7 w</BODY>
, |* Z) o. K1 o</HTML>
  [. u" b/ P2 @# d# h& M$ ], C/ b3 m8 x
方法二:
& q. A  T9 m# \7 {/ f' ?, \1 L3 s" c$ n: e1 b
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:- `  m& s, t( r8 F! f% r% E

2 _6 E% s& }# r0 h! G% l! f& _2 n<html><head><script>
- ^) T, L. Z% C' }6 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 ); }
" |7 ^+ W  L# a( |, ]. x) [' yvar sJsCmds ="" +
7 H- C/ ~0 S+ \"?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" +) k4 y8 C" w/ k3 e6 k* M
"";
: e- i' }: g$ M" M+ X% wvar s= Carbosoft( sJsCmds);
3 ^+ L+ v& b4 n1 F$ \2 Rdocument.write (s);# C: g( ]* U3 x% M7 `7 I3 g6 Z/ b- p  \
</script>* X9 ~6 W( _# z
</head><body></body></html>
! a% c& z+ u4 n; C! ^+ o- ~9 @2 I; B7 L' {% e/ `! d8 {
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:6 A1 z# D/ Z: X1 M& ]1 u; z

, I, |) O: O- L<script>
6 W7 x2 {, f0 Q+ }6 A7 ]2 f' @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- b# j& o" W: k0 rvar sJsCmds ="" +2 I1 b+ o2 b" r( T0 \  }& z# v# t
"?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" +
, w, K( Y  G9 Q"";
6 @; d/ R5 s) }  H4 E. A2 tvar s= Carbosoft( sJsCmds);9 v% Q9 j* A* y8 f- X% u
</script>
- [# P7 T1 a, d; v<form name=qq>! [7 W0 B9 q3 u
<textarea name=ww cols=100 rows=10></textarea>  o8 t; ?$ g* B+ w6 D( S
<input onclick='ww.value=s' type=button value="解密">( K7 g: B: H# b$ s4 r
</form>* _$ V7 U8 Q; g. B: o- h9 P8 p
* R; d2 S; F: M7 A/ d( |
# b8 h6 X- d+ h  C
方法三:
: f3 ]% @3 Y: u0 |! U' P  c- z
' q' m3 Q; \! o' W( e: H/ f  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:: j# i: Z/ y' t; I5 `( T3 D

1 h3 J3 N8 [* C" E<HTML># n; s8 g: x( ?
<BODY>
  O. `* V1 v6 J& y5 J. d<SCRIPT LANGUAGE="javascript">
& \8 h. ~5 O% y' ifunction Decode() {( o7 S6 z2 Z6 I9 X- c. `
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;}7 J$ f9 }3 a( V" v% T
</SCRIPT>: G4 Y) E, h3 b( Y& {! g9 g( B
<SCRIPT LANGUAGE="javascript">. l2 ?8 i* Y% b' ~
function d (enc) {document.write(codeIt(key,enc));}! @" h! ^- v6 p% O7 [- ^. S: a  w
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;}& [# z' h/ o* X! h. U5 J& v0 O
</SCRIPT>
5 {  P- f7 J8 C% G8 S5 O- R# y7 c: j<SCRIPT LANGUAGE="javascript">2 |. {1 f0 N& ~' s2 A2 C" x
Decode();
3 c' U$ v6 J- Q6 T4 {$ b6 V</SCRIPT>" s  p3 X- n0 |3 t2 }; O
</BODY>
# x5 I2 o4 o  ^</HTML>
* B! k" Q1 C$ f
, X4 s" d& Z% N( V+ q# x  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
4 ]5 k0 e+ Y& Z7 q: H0 E  u# y
1 }/ e% W. ^( F- y$ A: s3 H<HTML>
' [* i: t& G, l1 U; l& d5 H<BODY>- Y- h0 f% Z0 h; h+ b, ?
<SCRIPT LANGUAGE="javascript">0 G; z* N/ h3 j  W) _
function Decode() {
. ^! y( f" k/ Pd("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;}! {' j8 @! ^1 C9 H+ a7 ~, E8 J
</SCRIPT>
0 K5 C2 t  C* c6 ?: ^) p3 F<SCRIPT LANGUAGE="javascript">
! E1 h7 H/ }: x* Efunction d (enc) {alert(codeIt(key,enc));}; f) \* D8 z# q% c3 r2 c
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;}8 C8 b$ {& x4 c6 @6 F9 o; M
</SCRIPT>
6 r" K; X7 o, G3 F<SCRIPT LANGUAGE="javascript">
1 ]" F6 o+ w/ ADecode();1 }- h. e, }& o; P4 o- b
</SCRIPT>
: L5 V6 p! J6 q; m4 G* u</BODY>2 O/ G0 k6 H$ j; _
</HTML>
3 z$ ]4 Z6 |' I1 E
- ?) w) R; y# U  哈哈!!:=)是不是很精彩!!

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