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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
/ q( u. U8 }/ M' q4 ^- G. h& Z9 f
$ E; d- n2 [9 E' R. F& i, B4 J  D' [+ k0 \) h
方法一:7 s2 U1 \, D( Q, h* Z& F/ W
5 _% D& i. C4 y
6 y3 `% u7 z0 f- V
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
; y4 K$ v. F1 p6 F% L$ o4 {
- T" k; }+ T4 X7 y! _$ `+ T<HTML>+ W' t. E9 f  V3 H
<SCRIPT LANGUAGE="javascript">; k6 I' `, P/ G( l" u$ S2 }
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"
1 W+ \3 ~( s3 C, O, Vvar NewWords;
" x) I/ ?# c5 g! X8 h: ~- ?) ]5 nNewWords = unescape(Words);; a: f; T7 }7 W0 p+ L
document.write(NewWords)4 n" d8 f5 {8 q' u
</SCRIPT>" A  t$ F' h. |" l& ]5 v
<BODY>
+ f* `( u: f% L. s) u# ~+ ?# x& I</BODY>
; [4 c* ?$ R6 {: R$ J. L</HTML>
7 c3 I( m" K, J* W9 D$ [% P( z, q# }. `% r
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:7 Q( B- j# H# W) B9 ^# i. q

) B# C/ Y$ Q8 s<HTML><SCRIPT LANGUAGE="javascript">
* w0 T& _4 z, U: h  e- Lvar 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"0 P* a9 ^( {- Y1 d5 K. P3 \
var NewWords;7 @5 G( g9 @3 D5 |9 c  [6 t1 ?8 B
NewWords = unescape(Words);( Y& P# }. U1 t! v$ k. L) [
NewWords=NewWords.toString();& @# K5 E# G& h' J* Z2 o0 t7 ^
function password(){8 f  S- |' [; B7 R+ X) `
document.pw.txtpw.value=NewWords;
( w0 w% Z  X' n" l}
" P1 m. s: N! Q+ P</SCRIPT>
$ q7 _6 k  N" `( n, p7 Y<BODY>
5 {7 x. {; Z/ _7 E. o" Q+ |<form name=pw>
1 E* W8 I; U+ }$ g: Z, ~# a* c" a<input type=button onclick="password()" value="解密">4 H0 W1 m6 _" D+ \
<br>1 W2 j+ f# p0 Z2 s% F: I
<textarea name="txtpw" cols="100" rows="100"></textarea>
: |7 o' h- h0 P  U& f6 b</form>+ D3 y! g) @$ \2 Z
</BODY>2 @5 N; e9 t5 M. h% _0 G2 `2 N
</HTML>
1 O* B. M# u0 A
. P8 X* a! o1 G) \( h8 f方法二:
9 X, ^0 q/ W* I
2 f& ?( d2 T$ l1 C" ~  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:: u& ^  Q7 M+ g
& R6 {1 w" Y2 ?' g
<html><head><script># A6 j8 R. t" x6 H$ B" ~, M1 U
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 ); }- A  h2 c, r  n5 h
var sJsCmds ="" +6 X  |7 \' s) F( L$ S0 y/ r6 R
"?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" +3 U2 H' D# O  v5 o! L; J  p+ r
"";  X2 E$ _) o* L
var s= Carbosoft( sJsCmds);
# k8 T0 V" ^7 z- B" ?# l' qdocument.write (s);3 F+ a7 J6 M  g5 T3 }
</script>' [& D" v7 s% U9 S* T; O$ S
</head><body></body></html>
/ p8 q: J% Y+ B8 ]  I
+ d/ A! v+ i8 J1 p& |/ |  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:6 i/ E: e5 G$ r" @0 Y

# A! K9 l2 l1 J<script># _" w$ R3 E0 ^' E1 V4 g# h
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 ); }% e& B# o2 g$ ]; X
var sJsCmds ="" +
* |7 a" g. P7 N! l. k- D8 d4 o1 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" +
% m$ F/ @. j0 J9 C& d0 E"";% `, O4 S6 Y0 h# I7 [
var s= Carbosoft( sJsCmds);
7 d. v* o% v1 w& R/ a3 K& g5 X. m</script>
7 M$ e; z+ h. M0 w) G( J<form name=qq>* H& N; j4 J& _8 G2 x3 Q. y# v, [
<textarea name=ww cols=100 rows=10></textarea>( y' Q; _* a6 r8 r
<input onclick='ww.value=s' type=button value="解密">
% M0 ~4 x+ D. ~$ G1 H" F0 D) g9 l</form>
9 u" M$ V% y! F% U; p( z$ S7 e9 g7 R

# U8 O6 Z% u: U: J1 T+ G方法三:
- _+ d# q6 E! o9 H+ Y% v1 V  }( C9 [9 W4 _+ W8 w
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:$ e- Q  s4 z- k/ v: ^5 m8 V

: `. Z, @: C0 x' z7 m<HTML>
2 o- p1 N$ q, h5 M<BODY>0 g7 B  t$ g! }. |. R6 a9 h" Q
<SCRIPT LANGUAGE="javascript">
# t6 ]( j. S8 @3 J4 Gfunction Decode() {( B$ V& D' V: A0 S% O. T4 ?
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;}+ Y, O+ g9 g6 f: ^# N) a0 U# j- z
</SCRIPT>
) n' n1 L  H3 G7 ?9 [9 y; C* a<SCRIPT LANGUAGE="javascript">' p; a6 Q$ S7 J6 r( i5 T- K
function d (enc) {document.write(codeIt(key,enc));}& F+ J: D0 d7 R9 \! |( P
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 z2 E4 p0 p! H/ V' l+ f4 X</SCRIPT>0 }5 U: s# E  @- X1 O, z
<SCRIPT LANGUAGE="javascript">
# g" Y# |$ [1 u. e) W5 B8 K/ IDecode();0 x0 h% P' P& m
</SCRIPT>% B# Q; q$ |0 {" I$ i0 V
</BODY>3 H- U' ?* M5 E) F( J$ F9 i
</HTML>
' h! G7 V' X" Z( M" ]
5 e4 x, T* C1 m! w0 p  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
# z2 C+ E9 \/ ^. A0 N$ m/ ^' V( t( j. o6 @+ j
<HTML>
4 _8 c% A8 d- ]$ r  r3 Y, E7 S<BODY>
6 I; E( _/ \: N, f9 i# Q# Y<SCRIPT LANGUAGE="javascript">5 T# U' }4 |$ _8 ~% W) G
function Decode() {  y, f4 s& v/ J7 C# e% O
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;}; [+ H" x, b+ w2 W% U% z; V
</SCRIPT>
4 V+ }! G3 j0 O% R: c7 x# i2 ?<SCRIPT LANGUAGE="javascript">, Z' Z! w4 k& \% H1 v7 t3 o
function d (enc) {alert(codeIt(key,enc));}
$ r0 v4 k( l+ v9 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;}
+ i  }6 T. J% r9 P  A/ A/ P+ H, c</SCRIPT>7 R+ v. W/ p1 X
<SCRIPT LANGUAGE="javascript">6 o0 p0 H5 H% C1 v. U
Decode();) I( _3 k9 P: _& J8 s" z
</SCRIPT>+ m) r) n; J1 D* {
</BODY>. B+ j3 ^0 Q: w' Z. z0 C! {
</HTML>
3 n. j5 D( z8 i  w* X( l2 l% G$ f* F9 y8 L) s, T
  哈哈!!:=)是不是很精彩!!

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