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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!
6 Z& A& O8 \, X7 H
; J7 h% \% X6 `# m
/ N1 i2 N; X5 @4 W% y; W方法一:. T4 \( Y- j% ^/ |
; U+ |) |% `2 ~8 ?. }

* P& O, y7 v5 W8 ?  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:# l" V2 c, T" `; N( X
: V, k- _6 Q; d$ X; l
<HTML>* k1 r+ X: `" m% ^' D4 H
<SCRIPT LANGUAGE="javascript">1 d2 W3 {1 D  C8 B- x1 [
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"# F/ t" U: [( \& q. M/ P
var NewWords;
3 Y  q# ]  @) V2 v5 \NewWords = unescape(Words);9 F" K/ S# n7 ]7 [0 f$ p( L' ^
document.write(NewWords)& G, k/ P2 `# {
</SCRIPT>
  O0 r: D( d! H<BODY>! d" a$ ^+ |/ f0 c( B, ]8 t/ x
</BODY>/ Y6 o2 a+ o$ H5 U8 y* A2 r
</HTML>
' c0 ?1 z8 Z7 n* b2 r
: \% W3 Z, h* m" X  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:+ U  t5 I, p, [* ?/ K

* q0 M$ C  i/ ^2 o$ \( |<HTML><SCRIPT LANGUAGE="javascript">- H3 p2 ^" e2 v/ Z
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"9 Y( Y2 m, B. q& _! w1 B# p, ~; Z
var NewWords;
5 p5 K- P  \' }NewWords = unescape(Words);" g  E, P/ q% x
NewWords=NewWords.toString();7 ]0 H7 B  `3 |2 C& s& `
function password(){3 j% |1 x5 `( b* c, D  r, |+ t
document.pw.txtpw.value=NewWords;
, \2 v. \6 s& C& t}
: A' S. _2 Q5 T& s9 G</SCRIPT>
. k# ]0 E# A8 F1 F2 U<BODY>
7 E2 ^' B& W4 X  V! u% x<form name=pw>9 ~: K1 D, d+ E& U) o& L! G
<input type=button onclick="password()" value="解密">0 N3 e' ]( U* {& S% H' U
<br>
( j- j7 h8 C+ ^7 [3 x<textarea name="txtpw" cols="100" rows="100"></textarea>+ k2 D0 a) ^: m5 Y( w; z7 V4 ]- O
</form>
4 `" ?8 O) B6 r" {</BODY>' P) P, V; p( L& x# h  C' n6 ]% d
</HTML>
6 R" Z4 w. E( l  C3 \) s& i$ N* U0 Y# r# I& x; B$ J: Q
方法二:* ]6 t5 q3 j6 N; K

# \8 d* N, d9 l6 v  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:" }- ?! J* U+ c2 w9 {
2 |  b' r1 j8 M' M! R3 {* w
<html><head><script># [+ z$ v5 R5 W! E8 |; I! V
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 ); }
3 F- d. X0 X% {2 [$ p5 avar sJsCmds ="" +
: _1 T( i& N" I" W- C"?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" +
" B- O$ I' |( q: V3 q/ K5 }"";
, d1 |( L7 `6 @& ?0 U0 K6 ivar s= Carbosoft( sJsCmds);
8 r( t" C/ q" T8 x3 G- Ydocument.write (s);9 V1 p  q& v' G( ~) u
</script>
: g7 V- d5 O) [. X4 Q. b</head><body></body></html>% O3 Y1 C! ?+ F9 e1 I# M

; P" p4 P4 f# M! M+ ^) M9 {7 _  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
. i; W: p$ |( s; S/ N; i$ }+ U( @- T8 s7 c' i6 H) u2 g
<script>" p+ Y' X4 b* }, c9 B3 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 ); }
9 M& z" `2 {0 Q2 |7 wvar sJsCmds ="" +
( \7 y; K) A1 r% {9 a. Y) t4 T"?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" +
' L7 N8 c: H# v& }"";- A/ }' g0 _( ~: q8 O  l- t
var s= Carbosoft( sJsCmds);
& f4 a/ X$ S  A</script>5 J2 j! y4 E( I, w( j2 b8 _2 e$ L0 o
<form name=qq>
7 q% f7 f/ t( w$ A4 `5 N<textarea name=ww cols=100 rows=10></textarea>. b2 ^) i6 ^8 P8 i" m, [
<input onclick='ww.value=s' type=button value="解密">! o/ u$ J) O# J# ?# b: J5 j& g
</form>
( f' m; o. m, t& ?  v( W* ]) ]: o0 ]9 \- i' l2 {5 t0 |
  `& b% r  u( [  `
方法三:5 S; f* X% m: l" t" n

4 I* e/ b: w8 r4 F( H! i# T  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:7 \) S5 S# U3 O4 X) t/ W- y

. W- I8 n0 w4 K2 c  `$ B. m<HTML>
* O0 s; W0 \7 Y. j4 v<BODY>
  Q  T  ^/ E. ], [% j4 T7 U' a<SCRIPT LANGUAGE="javascript">/ b/ g+ W- |" I9 O0 i/ J1 [
function Decode() {
- c2 z; m6 A. f+ M0 gd("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;}* ^. J# T  C4 Y' Z) A
</SCRIPT>/ o7 U) I/ a! _. m2 H) ?. }
<SCRIPT LANGUAGE="javascript">
# k3 g% N' g) i& V) ~5 \0 w1 j; Ufunction d (enc) {document.write(codeIt(key,enc));}
- F2 y' I6 J" j- a. D5 y! H5 Rvar 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;}
( y1 `  J( b0 {4 J2 {# U! i</SCRIPT>
, h& D( p) I4 c" s) k0 J- G<SCRIPT LANGUAGE="javascript">
9 x1 {: Y* C& f2 DDecode();
" l3 x* }! l0 Q* S7 [</SCRIPT>8 D+ ^  I( w$ q/ V- m$ x7 U
</BODY>
! C3 I! R" A! V/ [6 G0 S</HTML>
! m5 W1 E5 \( g) H+ c& b# ?
$ V9 Z# S$ P8 ?# J: `+ F+ h% V. ]  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:, T% a8 t9 `/ _- W. U8 J& h
% z9 `) T( ]: i9 o( a& [
<HTML>: `4 v' Z( Y6 d8 o- W# E
<BODY>0 ]" q) ~& k8 n) b+ v0 f
<SCRIPT LANGUAGE="javascript">* K# G6 ?1 }( r0 b/ h% o/ O
function Decode() {
$ D) {# D; {2 x& t4 y( A6 y8 Xd("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;}4 R3 w- j/ p+ ^0 b" D1 z
</SCRIPT>
6 Q3 @6 g/ O# }9 l& |9 t. t( G& e<SCRIPT LANGUAGE="javascript">
$ {- h: B, d( z, ?function d (enc) {alert(codeIt(key,enc));}
; ?0 w9 `4 O; x) w+ f$ hvar 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, w% M  v" y0 W( f
</SCRIPT>
! c# I* g: \7 B' N( b. k9 u<SCRIPT LANGUAGE="javascript">! S4 y+ ?  i; d6 _
Decode();
9 {$ m% i1 q0 M+ P# R3 V</SCRIPT>" e# F8 l* Z* D! H% U2 H- B
</BODY>0 [6 k. z) e5 M4 a5 F8 E9 X: L
</HTML>
$ g6 v+ _* U% q2 Q0 V
& `: W" y6 z: w# a3 G8 A  哈哈!!:=)是不是很精彩!!

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