返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!6 t9 H% H3 {) N2 P( z
5 t9 i* Y/ C. J, F
; |( r- O* Z  A. u, q/ V" D; Y1 x% o
方法一:: A* b& r  \5 n2 I$ _
9 v: q3 H# s2 o/ D

' X  N; n6 t, z2 m. A+ y) ?  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:, n8 p% L3 i* Z( y2 g) E' l; L

8 X# Y- `) W! _# t3 C4 J6 z  P  t<HTML>; W  k$ G  W0 I- K8 k% [$ [
<SCRIPT LANGUAGE="javascript">( N$ ^1 a  N" X
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"( V* I, \  y, j9 N9 M. J$ W+ {
var NewWords;2 \2 v( @6 y: i
NewWords = unescape(Words);& c: J+ `% O, M" {) [
document.write(NewWords)
3 K1 A- m& |7 h) l</SCRIPT>
; a/ }. F$ n4 x/ |3 ?1 `, K2 O0 B<BODY>
# ]" }7 b- k- a( C7 I0 c. c</BODY>+ n& x/ P0 U6 M. t
</HTML>
, x" I6 \7 d, f: s( w& N- l9 O, w( T9 M5 r* l) ~
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
1 l; c) q' P) D% V- S
' |) X( h; E* b+ b# k  C" A<HTML><SCRIPT LANGUAGE="javascript">  H# H' q6 \. S# G) t' x
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"- A5 q3 R! E7 J; h+ Q" a/ v2 t
var NewWords;. E5 f. a8 I' C+ \$ ?* F2 q
NewWords = unescape(Words);
2 w! M/ Y+ K$ J3 v& ]; Y4 o1 E6 CNewWords=NewWords.toString();- W7 \' j' U% Y* }& A* e
function password(){0 C4 d$ b& E/ [8 x# X  `# l
document.pw.txtpw.value=NewWords;
' n; T% i2 h& n# d% a, u& U}
& Q0 a9 [* n' M7 l, ?/ z- Q</SCRIPT>1 N8 Z; b* z$ `
<BODY>
( B- i& F/ k! g  l<form name=pw>% v, C( v6 H- H1 C- L5 \: {/ r
<input type=button onclick="password()" value="解密">; K7 R- K, G6 d& M6 e
<br>
/ j3 j) N' q9 j2 a" W% n! X/ Q<textarea name="txtpw" cols="100" rows="100"></textarea>
; _/ N4 ]% \: v. f) W" e</form>
4 Y9 u3 J7 y) L# n; m& i</BODY>) T) J; Y" G: j- o, \" K( x% H/ F
</HTML>1 B; z7 q8 _/ d. l8 Q; ]9 k

2 |! `. a8 W/ p0 M& `9 m3 u方法二:1 e9 T5 z& G: {9 {1 c1 R6 \

. {2 y& J' k. C5 P5 I0 `  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
' M- K9 P, i( }! |/ s6 d, J. s( h# |8 X& W
<html><head><script>
; c( N3 P  J/ n7 }4 [( Y3 d! dfunction 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 ); }
, U0 Y& i+ g7 ~3 `var sJsCmds ="" +
$ ~5 \* k$ M& 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" +
% S( C5 o3 _+ o% T) Z/ g, e9 ]"";) W$ L( t6 J0 w% i
var s= Carbosoft( sJsCmds);5 m% k6 A: g9 h- r& d/ V- a
document.write (s);
7 e* X3 Q6 ?% ]* X</script>
- R& B( A. N  i3 k7 x</head><body></body></html>
; |5 j( u: S% b9 U; Y" B" P" N- Y- P1 D( r4 v' M# p2 g- ~
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:7 _5 [( K4 t$ r4 l, P1 i9 v. V
! A6 ~" j) i  U* \
<script>. ]  i) U+ [% w# ]# ?/ c
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 ); }  W8 }& K  u4 b5 }9 P. U* [7 q9 ]% g
var sJsCmds ="" +
* ?7 W5 b" i8 Y6 Y0 w# S: n& m"?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- I* Z' s/ |% u  h; b  ]"";
0 l/ V' m; K1 evar s= Carbosoft( sJsCmds);
3 F7 u, B" _/ e2 i/ C1 j* e</script>; y6 a, f6 Z. \3 P- z, A' T/ v7 A
<form name=qq>5 H8 H4 }) i; L' @( ]
<textarea name=ww cols=100 rows=10></textarea>
% u+ Z' {% l  c: l- D<input onclick='ww.value=s' type=button value="解密">
/ D4 y  `( |. c5 i2 L$ u7 [- q</form>
$ s( r  K' v0 h+ D/ T2 u5 Q6 h" r; {, U6 N% F! x

+ x5 V1 d! p$ ~方法三:0 B. l* f. K7 G- r

9 `, P3 w5 f+ e2 b' s$ N  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
$ p0 r2 Z6 s! M6 _/ M& R; G
. z# `. I% r& X- i, g& @, o' c( M<HTML>4 o0 F1 U, u  X- J
<BODY>
+ z' T  Q# \1 V7 G) |% k' s& Y<SCRIPT LANGUAGE="javascript">
* n  q- k* y2 ]+ }! s/ efunction Decode() {8 ]; D% _# [4 H( X: x7 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;}
: `2 [* x- B/ K2 t</SCRIPT>9 E& l3 w: J% O1 H  E: X9 X" \
<SCRIPT LANGUAGE="javascript">6 V3 f" x6 R( u( W9 {5 e$ v4 A1 ^* ^, B
function d (enc) {document.write(codeIt(key,enc));}
. B. v% m6 l' a! S5 fvar 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;}7 g' i$ q4 m% @" w9 d  x
</SCRIPT>- S9 |3 j# G& q% r
<SCRIPT LANGUAGE="javascript">
) _' J6 K( T% @4 TDecode();( }% a' H) t/ b$ P
</SCRIPT>
3 O$ i! {& g/ e4 R" c</BODY>8 l5 L! v# M% @2 O
</HTML>
8 t' p9 h. R4 a/ N) Y2 o9 {4 i" H' H6 P0 j  @- r; {
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
) `: A" S/ R0 ?1 H6 Y5 L! K; ^( d* Y3 n
<HTML>
, V7 F" L" e  d/ x9 c$ |7 Y<BODY>
0 Z, R7 C  }+ L<SCRIPT LANGUAGE="javascript">
( ]8 W, K1 W/ [% ^3 xfunction Decode() {9 N/ a* c5 ^( n) {$ c7 g$ r6 V
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;}- T# z/ u) {, q# e) C( `" n$ N
</SCRIPT>
( n- `( \/ ^( |$ N$ z% P5 D<SCRIPT LANGUAGE="javascript">7 c9 a+ c# G6 _/ D* \# P" _6 e
function d (enc) {alert(codeIt(key,enc));}
. u- z5 l0 g, b+ P* R% yvar 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;}
$ x6 r; q: R& j" O  `0 w  b* y</SCRIPT>
4 Y4 ~! [3 w: p3 ~1 G<SCRIPT LANGUAGE="javascript">3 M+ q* ^) ~$ d( d; K' C
Decode();2 ]2 {0 ?4 F3 `: N0 w
</SCRIPT># ]; k" }% R7 s5 F; n* I
</BODY>- b& U5 g! g5 k0 _3 u- P
</HTML>
8 A, G% K* N& U) l5 E" i! F! v8 r, T8 B' i
  哈哈!!:=)是不是很精彩!!

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