返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
/ Q0 O: g/ d8 u: r9 ?" e
# H6 f9 K$ o2 G8 U8 }) b5 I2 S" m" y  k0 T% C+ Z( _% m: a  I
方法一:
# j. S" t, F- [7 @; Z! A* v+ O4 ~) `3 o) R2 c* L( g' |
3 z4 _. j- J- N' A5 q+ A$ s& L* H
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
' i8 a% Z$ F1 |3 J( d2 P) p% l% D
3 k# a  {, g+ k- w) z: ^, |3 k7 \<HTML>" w: X1 p) T: k, B0 F
<SCRIPT LANGUAGE="javascript">4 m! g; l' K- g9 O8 N' F( X; a
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": J- N$ p3 p; c
var NewWords;1 S$ J$ n' W/ ~/ g; \% Z
NewWords = unescape(Words);7 t4 A' h$ R; u7 }3 n+ l
document.write(NewWords)
9 V; n8 {0 E, X</SCRIPT>
/ p) I8 z! M7 D  O" B<BODY>
" t, R( E6 k# @" _8 q* b</BODY>" w% O3 o* e0 ~( l( r. s
</HTML>0 j2 S& w, @$ _, P. ^" ?$ O& b
% S5 d' i. O( N# `
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:6 c) m% n7 s# {  [! d* u6 v9 u
" u0 h+ _6 y/ x& \
<HTML><SCRIPT LANGUAGE="javascript">9 m" V" d9 [* Q+ ~
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"
* o' E9 E* }% x' P4 |! J# E9 Vvar NewWords;
# t  ]% U  Z# s( XNewWords = unescape(Words);
" u! W1 A' S9 i- F& _+ iNewWords=NewWords.toString();5 {. B1 M& q/ j2 z1 G5 ^
function password(){
) Y, r! {+ ?/ Q1 |: |! [document.pw.txtpw.value=NewWords;& S$ f  h7 q. t6 D8 i
}
6 K$ W" g8 ^! c7 o% N</SCRIPT>1 E: a3 W- p3 {& V( ]* N7 R
<BODY>* j: ~7 X3 P- i- {5 ~1 J
<form name=pw>
; a: r4 g/ R; I5 ]" _1 s<input type=button onclick="password()" value="解密">
4 |0 x- X" T. M* Q) k" E* z<br>
" [# t% m8 g0 S# x; p5 p9 o3 H3 N<textarea name="txtpw" cols="100" rows="100"></textarea>, f. O4 p! e1 [6 O6 R: l& ~( ?6 M
</form>6 q/ Y: k( L0 d+ z, j
</BODY>. X7 l3 J# i3 a: y# \
</HTML>4 _4 ~9 d; Q: s6 c' y# {

% O1 V2 F2 d) T* i4 C方法二:
- ]4 m% b& ^# C$ ?1 `' G5 F3 _6 h3 J- k
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
2 [7 S" U( {1 n8 a3 r- n0 R  q. c8 y; v
<html><head><script>" E7 Q- ], _$ q7 j9 e! o9 W, H2 N. Y
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 ); }
) y& E2 m( @9 W! s7 N7 p- yvar sJsCmds ="" +5 {2 p$ z! q& c: n6 ~  K
"?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" +. h9 ~4 O/ g& a3 I: y% q
"";7 F# p, X9 |8 K, k3 p/ V4 n) O
var s= Carbosoft( sJsCmds);6 }( g) F: @% |7 l. X% E1 a
document.write (s);; u6 h+ v: A# t# E# a
</script>
5 A! d$ R$ a5 f' L</head><body></body></html>0 V0 t; U9 t$ a6 e# m. M+ a
0 y. v2 ]/ L" F
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:7 k3 R: @' A$ o
' H, M9 c3 y7 u+ l8 @5 H
<script>" }# X# b6 ]) I, ?
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 ); }# o1 \- `: P" m7 {1 |7 {- m
var sJsCmds ="" +& t0 A+ l% ^, f6 |4 p* 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" +) H" B( G8 [: t) H7 Q
"";; w5 \( q3 [* r8 k- x
var s= Carbosoft( sJsCmds);# a; {2 h. I! H- @2 d
</script>0 w7 q6 R* p7 u9 o* Z( ~
<form name=qq>
; N, B+ T7 x/ m+ e$ a  I<textarea name=ww cols=100 rows=10></textarea>$ l' X6 ~$ \* ]
<input onclick='ww.value=s' type=button value="解密">
- z) T! F( F5 C9 h- R; l</form>7 d% J! r9 B4 F; C6 R! n3 {
8 ^: ^; U, v7 S/ O8 M2 P

. u7 M6 V% N4 M8 Q. i7 n3 }, ^( P  L方法三:
# e) ?2 d( w4 p+ l, O# j! f0 n$ f; f
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:9 e2 b: i1 w/ _) A2 }7 i/ N; \
' ~( D/ D% I; c! x7 I. b: `3 n4 C
<HTML>
# r! L8 [- u# X9 ]) Y6 J<BODY>" o* G1 r# |5 f: s
<SCRIPT LANGUAGE="javascript"># v8 A2 p( f* S# [3 f
function Decode() {
$ ]1 y0 e" @% k2 Z( O! X3 C2 q0 Yd("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;}
" A1 g, e; A) }6 i9 I' s</SCRIPT>) S7 G! {6 T# p# ]  K# o
<SCRIPT LANGUAGE="javascript">! z' V! b9 b- Z8 B9 y
function d (enc) {document.write(codeIt(key,enc));}
/ c5 n! O1 b. p3 c, s4 `- }. {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;}
+ L: M( h; Q2 i) I. o, U% Q7 e5 z</SCRIPT>! L7 q+ u: x" z) A! K
<SCRIPT LANGUAGE="javascript">; Y( J" H: J& d9 ]
Decode();
; i) G' z5 T! ]4 C5 g4 i! [</SCRIPT>
* G3 @5 R5 b* g9 C</BODY>, j- s7 T2 ], J; |% }
</HTML>
. h" c7 P' \) s" _7 U. ?! M* Y5 q: o
4 f* P8 E: e' Z% Q8 F  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:, ~7 s5 j5 R1 q# h6 i: R3 z0 k# L

6 @  x4 M, P$ m4 {: y! b<HTML>: e9 e, m2 F& @9 b  ^$ T! q* @
<BODY>
1 R2 _5 J  W6 U3 N<SCRIPT LANGUAGE="javascript">
6 ]9 d- w$ ~7 ofunction Decode() {9 S9 X/ v) @, c; b5 D
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;}
" O$ Y! l4 p% \# H, S2 e) J</SCRIPT># Z8 ?( x8 g$ f+ }! n1 `
<SCRIPT LANGUAGE="javascript">
" G# |) \/ i0 Sfunction d (enc) {alert(codeIt(key,enc));}
7 Q9 W5 W$ T: s, R% p% H* \* qvar 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) Y! t* w& c! z' r
</SCRIPT>: v* r1 G3 u* M* D9 i  a! S
<SCRIPT LANGUAGE="javascript">. e% w* d& J* x1 s2 S7 M, I
Decode();
, z$ h0 y- C  O0 Z: }9 U</SCRIPT>( l) e- B! p( k6 @
</BODY>' Y  V, G( [9 S+ o
</HTML>
" c  G/ c' \7 n2 F  f( D% t' a- J. o* p( K, H/ {* F
  哈哈!!:=)是不是很精彩!!

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