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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!9 Z4 d; X! M, h. k

& r; p# {% ]4 L* Q$ N' p- Q- x) L1 s3 j1 h( O- S& C( r3 h7 b/ C
方法一:9 b: \; I' Q+ O$ j" [& \
0 f3 w; D1 |4 k/ N' C8 v8 Q% u5 J

$ @1 _# Q# t* v; ~  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:! G7 i4 l) _* O8 H; D: {

+ |2 K% C# h6 C5 b& F8 J! C; o<HTML>
/ v: S/ g2 U# l3 L- B! C<SCRIPT LANGUAGE="javascript">
- G4 c7 u# x) ^8 Ovar 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' h+ A; l/ l9 d1 z+ g; `var NewWords;
9 U: g0 M2 f; }% g4 ~* XNewWords = unescape(Words);$ T% n5 s7 z% N5 K, ]" C5 ~" M
document.write(NewWords)
0 i( P- d& z$ U& h# m</SCRIPT>6 X. J  @/ z7 s* L5 \7 i7 N. p
<BODY>5 S7 L( j2 x$ V( @4 w
</BODY>
% W! c0 k+ j/ W: W2 g' m8 B</HTML>
9 j5 q1 E) j# N) ?* \7 U' z1 b) ]. x1 ~/ R. \
  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:# u$ o# c: T, ?( ]- ]
, M5 l1 T0 v6 M1 T# {  ^7 ?# p
<HTML><SCRIPT LANGUAGE="javascript">
1 @" d! j1 p( I( n" g0 b, {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"
5 {6 M7 L7 J0 `: }var NewWords;5 Q! E2 w) d" N8 W
NewWords = unescape(Words);! }$ }; s3 F3 u( L
NewWords=NewWords.toString();* G+ M$ Q% V1 P9 |  s- V5 E
function password(){
- F0 G, G! l# zdocument.pw.txtpw.value=NewWords;
+ u! F/ {& H8 J3 i) F0 ]+ p; u}; o- M1 u9 {: n/ c/ }
</SCRIPT>
0 Y& n4 x4 P2 {  z' G0 J<BODY>* v. P, u9 `% J3 `* h+ i
<form name=pw>& _5 ?/ M$ c  z- ^" j4 {  E9 N
<input type=button onclick="password()" value="解密">
" Q: `2 x$ O8 [$ F<br>2 s/ n& B, n8 ^7 O0 _
<textarea name="txtpw" cols="100" rows="100"></textarea>
1 y1 X2 C% E) P/ d0 v. @  t# `</form>
/ K! F0 f  m) g" |0 D% P. Z</BODY>3 z5 k" {" ?- \" L/ t6 d8 @
</HTML>
4 K  T- f/ Y* P5 a6 u+ E* t* R; M0 f& P' v4 T
方法二:
) J- V$ D5 |: `- O* ]" I6 F9 \, ?1 H% @: x1 s: n6 n% ?
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:+ |$ e7 N' M) ?3 _

3 J6 g# s1 I5 K+ [) X<html><head><script>
- G( a6 E( L& V5 i9 Yfunction 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 ); }& G  }. |" \( s% a9 W! S1 m7 k: r
var sJsCmds ="" +: e& O$ F% l4 T0 _2 c2 \
"?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" +( f5 ^' K9 P) D/ m! A
"";
( p( |  ~6 p4 L/ X: O1 bvar s= Carbosoft( sJsCmds);% o3 ]% L% _1 m( W
document.write (s);) H1 k2 ~" P& ?- h
</script>
5 F9 v" A' W" q0 ], }" L</head><body></body></html>
* ^% ?3 x# [# ~; ]+ D9 t! I
( }1 o# \2 W& F# m5 y5 Q' p  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:2 ~) E+ k8 v" L" \' x
1 r# h5 W' e6 s% U" _
<script>
2 V" E: {* N& Z/ B$ Ofunction 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 ); }5 ~5 Q$ Z& m  D+ U0 U3 S
var sJsCmds ="" +5 y+ s+ l* 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" +6 x* Z/ E* U" c( i4 a6 n) T) j
"";4 M" \1 W. A+ M7 T( G
var s= Carbosoft( sJsCmds);
) ?5 ~2 _! x1 E% b0 |9 v2 A; y! y/ T</script>
8 b: W5 Q: m9 b- r- y<form name=qq>9 ~& A; ]5 T6 l  |6 ^& }: G+ G( @: R
<textarea name=ww cols=100 rows=10></textarea>( G4 s" d, _( P  h8 Q; x
<input onclick='ww.value=s' type=button value="解密">, U( J  F+ I; o& }+ Q# S7 u
</form>0 h3 Q+ Y; `- L) V; v$ _' W
  p% ]1 e1 u; e) `. P! ?! Y
2 c; O5 j9 s  z9 M7 E
方法三:' {  [6 n  y! v; J6 N  t' G
0 o6 L5 f$ g: m: n: }3 H
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:! g6 g) B  L) I: F
- X! J) @5 H6 {( D
<HTML>
# Z' M2 Q# M3 {% w' y, r<BODY>* R- P; P( b/ j  D
<SCRIPT LANGUAGE="javascript">$ e, S. B) I- K, h# A9 g6 }
function Decode() {0 c1 s( y6 y* O  O; y
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;}
; S7 @+ {5 P' P1 {; k4 @</SCRIPT>( l' U  s* [2 a: c+ ?/ s, z$ n7 S
<SCRIPT LANGUAGE="javascript">) j# B; l7 U) Q, I0 B5 p
function d (enc) {document.write(codeIt(key,enc));}3 D+ o" l% f9 Z! W3 z
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;}
5 C. z% N) u) i- a# I5 d8 l+ }. K; Z</SCRIPT>! U$ G3 |4 y: |7 m& j; t3 s
<SCRIPT LANGUAGE="javascript">8 Q' r* I2 x1 T, }: ]
Decode();
1 M  c8 |0 Y# n0 m0 q2 m</SCRIPT>7 k( h# w$ X' N3 m+ {4 v
</BODY>
$ l6 D3 T- D" r7 f</HTML>
+ S5 t. n) X) H$ X9 y+ D: H: F, F/ e
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:
0 x8 v7 W( ~. L9 f1 ?* S
. F6 A! t, w2 \9 k<HTML>8 e: @- u7 R3 R  G+ B
<BODY>/ C" F* [) m0 n( p5 r! a1 R* l1 F/ q
<SCRIPT LANGUAGE="javascript">7 e, o7 G8 j2 l7 L/ n- N6 x
function Decode() {
3 j" U/ ]3 K1 H: {$ J5 L8 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;}9 w+ O: h+ H( Q& N& E" X# u
</SCRIPT>
" |' j2 N% l: L6 v<SCRIPT LANGUAGE="javascript">
, z) V( f6 L1 Z% [* i- i1 g/ K" pfunction d (enc) {alert(codeIt(key,enc));}( t! W$ u7 m0 u3 o$ M
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;}% A6 m# a1 y" c4 X, e
</SCRIPT>
, d% A. v+ B# P2 d4 Q* Z; l<SCRIPT LANGUAGE="javascript">$ x9 `( [2 P6 \" b' m
Decode();
2 ]* G+ }% H5 j8 O" t</SCRIPT>5 z, q! w1 T% k3 [' {  [' Y5 K
</BODY>2 X- G3 m) c7 [' m
</HTML>0 O# T! S( r# @, Q, A& ]
& P( W. Z) {% \5 [! ^
  哈哈!!:=)是不是很精彩!!

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