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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
7 P- R+ H. ^& Z+ P) f+ P% H
) K" J# j& y8 e( K  b
. k# x# c  u7 l! x* N9 S方法一:
7 `- q2 K( Q1 X; E
1 ~& {; P7 r  |9 N9 S. }' A' U5 ^: n
  e$ S& ]& {* `3 u  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
9 n: M" v2 \2 v0 E9 X: K- B  k, [/ Q7 I3 N
<HTML>0 u  b( f9 c& N7 R1 r5 {
<SCRIPT LANGUAGE="javascript">
4 ^* B! k* ^: g, y6 X( a/ U$ j7 \6 rvar 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"" a6 ^: k* X! r# [) J* f
var NewWords;1 ?1 ?  M! A# w- d; }3 o7 ?
NewWords = unescape(Words);
4 T/ o. W' F: M) Rdocument.write(NewWords)( M" w/ G# O+ y6 w* w
</SCRIPT>, T3 C( t9 d' s( x$ Z
<BODY>
: t- F% d% ?6 I, C/ N</BODY>: ~5 h4 N1 F+ l# H- T
</HTML>& S4 {6 C5 v7 ~7 [% u# L. H! D$ P

0 h, l% p, J! l: K; W9 g+ @7 |  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:+ g& j0 @2 s" h+ v1 p

5 W6 I( C- B8 s- a* t" n. x<HTML><SCRIPT LANGUAGE="javascript">6 H  s( _. u7 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"3 Z8 M* G. c2 [0 i
var NewWords;
( H2 w$ s7 r* v0 lNewWords = unescape(Words);
# c' O0 \% c+ Q+ k' m' {NewWords=NewWords.toString();
% W7 C6 |5 _2 i* P5 E3 m- t$ D* Ofunction password(){7 A  J9 r: j% E, G/ n5 \
document.pw.txtpw.value=NewWords;
. J7 A$ L+ p) g) f; q5 x}
8 v' B" i4 f5 w" X% b2 R- o% f</SCRIPT>& |: S' \. h' h6 X0 K
<BODY>  N/ {4 _5 P& ~# H( l
<form name=pw>
2 H5 a* ]& o- H/ T<input type=button onclick="password()" value="解密">( _! e% G2 c7 ?8 g$ H
<br>
0 l* A1 A: v1 i<textarea name="txtpw" cols="100" rows="100"></textarea>( C$ y7 {& e/ M8 ^& e5 \
</form>7 ^2 x8 X# C6 a/ F, c+ |
</BODY>
& u: ?0 h5 V7 A5 @% B2 U/ L* X2 p</HTML>
( ]& j8 ?8 O3 ~; x7 n/ v8 u8 @% J) S  W/ S5 I' J/ }
方法二:: _1 Q: Q. K7 Q* q
: s3 ^! i; C+ N9 g
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:  ]! \/ s0 ^/ u& u3 G+ N3 N" f

1 V* P- z1 ]- l9 m8 f<html><head><script>' k% \" F. C/ ~0 z$ S9 m. ?
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 ); }) D, s" g7 ^& I: i$ p
var sJsCmds ="" +4 K$ K( R7 K1 \, S7 U
"?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 S0 X+ q" _4 N0 S; f" e5 ~"";
7 E# q+ x. b. Q/ f6 G+ M/ j; mvar s= Carbosoft( sJsCmds);5 a1 `" O  i# V) x/ n
document.write (s);
% ?0 r) n. m$ o4 K* ~0 f</script>1 ~. _" X; y" e7 E* T
</head><body></body></html>
: v0 S% L% d; g8 R
- d5 F9 O+ w1 F# ^  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
! r  z' ^) ^$ B( V3 G" `9 F2 V
<script>
3 _% B# o# D4 V: r$ Tfunction 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 ); }  a9 p; G8 C8 O7 {0 w8 |( h
var sJsCmds ="" +
6 |8 P( H4 R4 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" +0 _  L; c5 N. F
"";2 O  H, S% S. U2 |' r/ m/ t$ V4 Y7 \
var s= Carbosoft( sJsCmds);
# @8 K( ~' h6 k( w' x9 Y+ F</script>
" \3 ?: k8 k- j( U2 V% p<form name=qq>5 ^9 s( ^, ^( y) A* c* U; {
<textarea name=ww cols=100 rows=10></textarea>
- \* h- V2 k2 ^7 x<input onclick='ww.value=s' type=button value="解密">& h! i4 s" O9 C
</form>
2 G% J, p- D, A5 Z/ @1 \% j7 j- q
  `: @4 H. z9 b) ^+ o. k
方法三:4 H7 U# f0 W/ L1 e( C& E) p0 L' M. {3 ]  d

' [; D& A  a6 N, x; _  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:( C% O% d4 J8 S/ q& A! d8 P
4 g' K( N0 _; V8 r3 X9 t+ l5 F$ T
<HTML>/ X4 q: W# N. q( x
<BODY>
) Y8 z: T0 {, X3 R<SCRIPT LANGUAGE="javascript">
8 C1 j9 q) G: |: A8 ?7 Wfunction Decode() {7 `8 c1 F  C" F+ U- d* U3 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;}  ]: l2 h8 c) Y0 R* ~
</SCRIPT>
6 d0 \1 p, W; j+ n<SCRIPT LANGUAGE="javascript">
6 q! {" a- Y' pfunction d (enc) {document.write(codeIt(key,enc));}/ ^( {: G; f! p8 t$ q) 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;}0 f" g# E# P0 r& C6 E
</SCRIPT>
9 A6 R% |& P! b0 u+ j" g<SCRIPT LANGUAGE="javascript">" R) s8 n) ^5 g! O
Decode();7 J$ `4 E  e" w9 \) L5 X
</SCRIPT>" _" O- a  j3 f0 Z" J
</BODY>. U; b0 J* z6 ~& q& v
</HTML>2 y2 ]4 l% t1 H! M+ I
: d: x; y6 C7 X3 D
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
  _$ _; h# |* ~) g2 p0 C! {
) t) R( {, c1 K<HTML>: @* r, B- d8 j# ~; @& W
<BODY>
$ U- R- M. @, u- m( X. z<SCRIPT LANGUAGE="javascript">
8 z$ g4 c: U$ g- V& M% Mfunction Decode() {
" i* D3 W) O4 e9 Od("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;}# W% X( V# [+ c+ b; M
</SCRIPT>1 W4 ?, }5 [6 |$ L: \7 S
<SCRIPT LANGUAGE="javascript">
" a7 E, M3 ]7 `. s1 `. afunction d (enc) {alert(codeIt(key,enc));}$ K9 n- r& x" V
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;}
! i! F6 S1 ]/ n% M# d" U1 P</SCRIPT># r3 g7 |. p7 `, d3 w" [! m% W3 x
<SCRIPT LANGUAGE="javascript">& `7 |$ R/ d6 ]7 i7 n, Y
Decode();
8 B" u7 ]6 |% Y- l6 w$ N</SCRIPT>
7 f& v8 z# m/ r5 ^. s$ L5 S</BODY># A8 t0 x! `* Q# W" s+ z
</HTML>
, \1 W5 m& y' l3 L
+ \3 x6 a4 q6 K6 K6 I5 j' T  哈哈!!:=)是不是很精彩!!

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