返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!+ c: e  g) y8 l2 ~/ l* S6 m

# {* m; R2 O* b1 i1 y7 g% u. t. q4 R+ a1 w5 a  g" {7 O5 }9 l! H) }: [
方法一:
% D5 g+ d: d" ?  {8 O( h: x
, v, [: P# o5 w, h- K3 ?: D( o, @' e/ z, }9 P, c
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:6 q. L- d  ?7 D4 [

' ^7 V: C4 q; Y* }3 f+ r9 b& @8 ]<HTML>, x2 Z. V* _6 X8 Y
<SCRIPT LANGUAGE="javascript">
" C' ^2 f# P5 ~$ @! g: v. Xvar 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"
+ s( F) W) A$ Uvar NewWords;  m5 \: M# k/ f: u
NewWords = unescape(Words);
& j8 F$ f4 s; j3 L! X3 d9 h2 bdocument.write(NewWords)( ^+ T* Y" `* N2 o7 Z
</SCRIPT>
. K4 N1 A& x7 L  w) ]* H1 m! x" O<BODY>! ~" w  o) u3 G  `6 B$ s2 M
</BODY>
2 j8 f/ R8 M/ Q1 Q1 }</HTML>
$ N3 o+ v. x6 n* j) k6 P- ~9 r* [0 b
& ^+ W: J& B" Z6 h+ L6 ~3 e  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:8 Q  u0 _( v9 Q1 j( R: i
9 H& C7 B9 s4 l! I5 x/ r, U" p
<HTML><SCRIPT LANGUAGE="javascript">' t- V/ H# _) r8 |. 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 F4 I( V; ?: c7 ]$ t
var NewWords;
; Q2 E( [, Y6 o: O7 F2 SNewWords = unescape(Words);- Z& e3 p8 @2 E+ A& N( f
NewWords=NewWords.toString();
4 G0 E; \8 O$ S% E, u$ Mfunction password(){
2 f1 r/ w9 z% J/ g& p- V6 Ydocument.pw.txtpw.value=NewWords;  [5 w' B1 p2 P0 ^+ f' x
}/ R7 C% g0 w3 [
</SCRIPT>
7 i* P( @& v! T2 h7 n<BODY>  K9 H# j/ P* S1 R9 w2 j! U" ?# H9 i
<form name=pw>8 V( A8 H6 a4 `! X) v+ Y
<input type=button onclick="password()" value="解密">
/ d9 [. u4 f* w( a/ {4 j7 _  Z<br>
8 M0 C8 L; G" @- z<textarea name="txtpw" cols="100" rows="100"></textarea>
3 j6 i4 e. J# K</form>& [) K) R) L4 d0 b8 c5 \1 p: R
</BODY>
0 S0 s4 ?, L% i; Z3 q  v3 C</HTML>
+ V: k1 U' D- g7 z$ u9 E
. `9 h- k4 f# H  n0 T" U  @3 C方法二:
& J3 O9 f6 R0 W$ e
1 ^; P/ T5 e# f; \& N: i  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
6 Z; v6 O8 t% k8 `; _
7 O! [, S1 G9 b# K0 i<html><head><script>& J& y7 D- l$ i, o
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 ); }
9 f) @/ r2 n% D1 p% A' Dvar sJsCmds ="" +* B/ \7 H. s! ?* U; m: Y: @
"?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" +, t$ I' e& E7 v& \# t5 G
"";5 d3 b- L1 z) F  u9 M' R" N
var s= Carbosoft( sJsCmds);6 \" W( h6 }) O" O& N8 I2 m
document.write (s);
9 q  [3 x; {; x: h* }0 B; h( e</script>
8 R3 J, _9 A8 V5 r3 J' t. i</head><body></body></html>
8 x1 ?  S1 u2 B$ Y, f6 o
# `+ g2 Y# t+ S' ]8 L( g  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:4 S: R& _2 d, P5 U- q+ t* r, O

# r( h6 r8 ^/ |, d+ s/ ]. E<script>
# Q) a. H9 w( Ifunction 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 ); }
8 s2 V' `2 Q* G4 n& o& wvar sJsCmds ="" +
/ L4 P; n7 j  N' r: 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" +
# F. R; e$ d& p; A9 m" w"";$ W; I/ ^, t: _9 F7 s4 `
var s= Carbosoft( sJsCmds);9 i) G+ S+ N# c' Q
</script>
* Q" h& }9 i  Y8 P<form name=qq>
2 y+ b6 y% M  B6 u<textarea name=ww cols=100 rows=10></textarea>5 L% x* X( _" B% W6 V3 T
<input onclick='ww.value=s' type=button value="解密">
$ r- a6 |0 }8 I3 H$ x# Z/ f</form>
6 s. l! d4 W2 c) a* O+ f' c$ Y! ]* H1 ]

4 T# O' _- ^- j. L方法三:- H+ w( |. w) g& a7 n$ w
) e: w. t1 c6 F% `2 ~/ H; }
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
. N/ Q/ D' `9 u  d% `+ a
  G: N$ _* X% h& c1 P% r. A<HTML>4 b8 ^' z9 b  y$ b
<BODY>9 e8 p) ~# r4 H) i8 r7 M
<SCRIPT LANGUAGE="javascript">
& [) Q4 b) S& L. j- t) e& Q4 X+ lfunction Decode() {
+ k. ]3 k' _+ J$ dd("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;}/ G' B2 P# [8 d5 L, w  x! t
</SCRIPT>
2 |2 h2 u7 y& H; p! R4 m<SCRIPT LANGUAGE="javascript">9 G  Z1 R8 Y# T4 m! h1 B4 S6 c, z
function d (enc) {document.write(codeIt(key,enc));}
$ A" [5 w/ Q9 `! d6 g8 tvar 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;}! m5 ^( Q- s! j; |/ i
</SCRIPT>
5 ]' p, u, t7 m" i* D9 a* C<SCRIPT LANGUAGE="javascript">7 m* U/ ~8 |% Y
Decode();
$ B3 q% W* I6 m- h; X+ ?1 O</SCRIPT>/ m$ K/ }5 b7 l( z
</BODY>: N. k* X3 @3 @- K' W8 E- ]
</HTML>8 c! s, v) `2 c8 u- M  l- F% k% L
2 r) e, u) G# l  }7 C. s9 u
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:& O; a. Z7 ~+ j: M6 l8 V4 \# D
& l: ~3 K4 `1 T, u9 O" `  ^
<HTML>
' ?# {' H& o- ~$ ?9 J<BODY>
% \. G( o' q( u8 _( A; C/ V* n<SCRIPT LANGUAGE="javascript">
1 k# _8 k4 C. e- Xfunction Decode() {5 ?% e0 i+ Q% t" c6 W: _
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;}0 f; C- d& L2 U. G
</SCRIPT>
1 k, }/ p4 G6 t* E( ~<SCRIPT LANGUAGE="javascript">
; h5 c4 o6 m/ k* i- efunction d (enc) {alert(codeIt(key,enc));}) w# s* P! s" d4 b
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 j9 a5 i& g! O# N9 g0 F</SCRIPT>
' i1 T: ~$ x# l<SCRIPT LANGUAGE="javascript">
0 k2 x0 T+ @) @8 s& oDecode();
" f  y: `  R8 {& N, T</SCRIPT>
2 ]5 j+ ^' G- |</BODY>
0 V9 O& A9 Y* F</HTML>* j" m# E1 _# O8 |' {

7 Y5 Y) G  }3 b1 J  哈哈!!:=)是不是很精彩!!

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