返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!+ a6 C# [- T" ^' S
% [; L% \9 \. ?! E& v+ _
; I+ W" E# a1 }+ H- n# @+ {
方法一:
$ T: ~2 _. n/ K# T4 ~; K
7 q- ?) ?5 N, w7 Q  Z; `# n1 T5 M0 X% C) Z
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:+ w) m2 m" a/ |6 u) Y$ m( L: S

4 Z' x( b9 W. G) [4 G) L6 s6 z<HTML>
# k3 }' a; s* m1 O. D<SCRIPT LANGUAGE="javascript">/ m% R4 n; r% Z9 t' J+ d9 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"5 ^; X$ D, G& p4 G7 y
var NewWords;
4 B+ V! d6 p0 A0 j9 S1 o- I( \NewWords = unescape(Words);
- L4 e2 Q0 I) x8 odocument.write(NewWords)7 q7 n8 t4 d* ~" F! v
</SCRIPT>8 [9 @2 c4 c- ?' G
<BODY>, n  Y4 j6 o" g* D% w, j8 q! E1 t; g
</BODY>% H8 ]! v8 O, _. c; i
</HTML>1 Z! k4 `2 A2 j; _8 [5 K
" U  M) p# w1 o. ^
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:4 M* C; _4 y1 J
" m) b5 ~. _* Q7 \6 c; n  s: z
<HTML><SCRIPT LANGUAGE="javascript">
9 T4 z- s- U( I0 ~9 _' G6 z5 fvar 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"
; e8 z" m& ~3 B% Svar NewWords;
7 r) c( G' U( J" M1 U/ [5 nNewWords = unescape(Words);
1 g: g2 P! Z7 r( kNewWords=NewWords.toString();+ m$ v  x! A8 z
function password(){
. N3 ~8 e5 @- W" A, I& \$ u8 Xdocument.pw.txtpw.value=NewWords;+ c2 w; l- G7 \7 D: b
}& A- n1 O8 d7 d
</SCRIPT>9 ?% \4 o% K2 `7 s
<BODY>7 ], m! ?  d0 {7 `, A
<form name=pw>/ U: d6 K4 D3 p  r
<input type=button onclick="password()" value="解密">" q% c) U6 K( @2 x3 L* c7 ?
<br>
! ?1 @2 P! s2 X- T$ ?' `& {2 }<textarea name="txtpw" cols="100" rows="100"></textarea>
7 S, f& G( s- E3 W5 I5 P</form>
9 z0 Z! I7 u3 a  H6 z: |% Y+ x</BODY>. S5 q3 Y0 T+ b: x! B" n
</HTML>
- l4 v1 p* l# N
* K1 h8 Y6 }6 h/ v6 Q6 z2 `7 F; o1 Y, ^方法二:
# ?, `3 f1 n3 V4 K( a1 E$ w, c3 D
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:* Y, w2 }; t3 [/ c

, y5 v2 U& g- _<html><head><script>2 L) r2 M" H4 s1 e2 W% y) c: P
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 ); }, @* W6 ?; ?4 F, ^; Z0 U
var sJsCmds ="" +0 c" a" V6 W0 _; l& C, V8 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" +5 W, \0 f2 Y! M- o# a% _8 s
"";% |5 i3 @& ]3 Y7 y* F# q6 A! I5 H: D
var s= Carbosoft( sJsCmds);
. {3 k8 @& r4 {# V+ zdocument.write (s);
2 s$ J; B' g5 Q* ^1 w</script>9 ?& \  q* T# [" j
</head><body></body></html>
' F7 m2 |. Z5 P
1 R1 k7 b: ^3 k+ a  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:# e& W6 |' w* \0 z( h0 b) E
5 C* w$ @8 Q7 {  S
<script>9 G1 }8 _* Z2 o* M" w" v
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 ); }
& |; ~% l5 D9 z7 ?9 ^var sJsCmds ="" +
: e8 t* X( M, C( V8 Y7 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" +
. l% C, M$ c4 F: q) u( m. F"";
3 ~; P2 \: \& ?4 Dvar s= Carbosoft( sJsCmds);7 I4 M# m' L5 d
</script>
( d4 M! [& T, T3 p. M3 ^( W$ b<form name=qq>
% l0 `8 y* S3 X  ?1 F! n<textarea name=ww cols=100 rows=10></textarea>) |! F6 {% J# d2 I5 S) a
<input onclick='ww.value=s' type=button value="解密">
7 R. ]- z5 F3 [0 @+ @</form>8 a. W1 y* U- x+ U: {
  f, K6 d* j" F7 O% F2 z6 {; [. v4 `
$ w% u' t# ?) R
方法三:
, Q$ ^: t4 ?. H) O- o
+ y' q+ C& z; ^) v  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:2 s- T0 {- A/ K) _

. l( ?# p) m+ _" R8 O6 Y<HTML>
' _5 U+ e6 g, l% T7 k<BODY>8 V0 e/ M  u$ j+ Y
<SCRIPT LANGUAGE="javascript">
; {6 Y, c. ?' Y1 A: p/ K2 jfunction Decode() {! [( u3 c8 t. j3 |0 R) B# c5 R) I
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;}
( s' N" X7 G' K0 s, E" M, e9 T</SCRIPT>; k8 r1 s) {0 j) l
<SCRIPT LANGUAGE="javascript">
5 x0 A% V4 Y$ s! L& V# jfunction d (enc) {document.write(codeIt(key,enc));}$ B7 ?) e9 O8 ~' C, D
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;}  o/ o. y: j/ H1 ?
</SCRIPT>
( u9 V0 A; [# n6 ?<SCRIPT LANGUAGE="javascript">
" F! P' ]' ?+ |, [# H) ^Decode();
9 k: t% p) O- U2 j1 y9 l( R5 Y: ]</SCRIPT>! O6 n- b" N- j2 U
</BODY>! Y& h) p* U! M
</HTML>
2 m6 ~3 q  j3 I- b4 n' G# z& h3 R% d  {; M- u: c
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:+ R. K! q: R8 u  l: f  r* e5 v
! E' _8 x; _- [  D2 ~7 a
<HTML>
3 l* N7 z; U! X3 Q<BODY>
* w/ w7 }1 V$ C8 [5 {& h% U<SCRIPT LANGUAGE="javascript">* t( b8 G7 ], u1 q( F
function Decode() {
8 R, E8 [6 m0 x* w" Y" r7 @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;}6 ~7 v" Y# A  W# u$ W9 Q
</SCRIPT>; f9 p/ O  i3 F
<SCRIPT LANGUAGE="javascript">
! h/ o- ?( P1 k. ^4 y. y6 ofunction d (enc) {alert(codeIt(key,enc));}, T3 ?) N4 `3 z/ }
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;}
3 q" E! }9 t1 k</SCRIPT>
1 E! |2 O" q- @: y; W/ }! Q<SCRIPT LANGUAGE="javascript">8 q  t% E/ g2 @' c" q& y+ g
Decode();
4 u" H4 [* B3 {) D" q1 t</SCRIPT>
! m( y5 J3 b* J</BODY>+ `' X% \0 _4 V6 S2 N
</HTML>
8 O. ^. t7 Z. I3 |% W! [* X7 r8 C1 n5 F
  哈哈!!:=)是不是很精彩!!

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