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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!; G8 }: B9 |. ~" C$ s$ ]" \

; J/ N% R# N; ~0 h( F: a2 E
: X" N. ]! `9 a$ d9 _& @, X: W方法一:
3 E8 ^6 U8 F( O! ~  D# y, {5 a+ I6 d. L+ g: X7 w# p3 L" T

  l5 M' }! N2 R; R2 k- i  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:( b. q1 d; G: ?& I+ I4 z
' _5 w- V# t! ?! C
<HTML>
: ~% m7 w# f) Q8 u' |' N<SCRIPT LANGUAGE="javascript">
. s5 \+ a. H* B' A" O1 S  |0 Fvar 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"( X+ Z6 v' f9 ?1 p0 U1 L2 W
var NewWords;  W. M6 ~+ C  K* ?9 y5 G+ `
NewWords = unescape(Words);
, t0 G  D! ~6 _5 ^8 n  ]( s: t- pdocument.write(NewWords)
2 K$ U' o* X* O" g! r, ?( b</SCRIPT>
/ T8 x, V( T8 \( P8 ?/ V! l* V0 K1 Q1 P<BODY># |) W1 r- W- x- F
</BODY>
) E& a9 d3 T2 n3 T, y</HTML>  p8 i; }! ?6 n

% s. G. F2 o2 L. |  p7 o  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:
9 I, H, {4 ^4 e& X7 E
2 c1 O% ?9 ]# z, `# g3 g; N; I/ B<HTML><SCRIPT LANGUAGE="javascript">
5 V! k7 P/ b( w  X$ cvar 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"
) Y" Q9 i1 e7 ~) Uvar NewWords;" z. \1 \4 ?3 d4 _' P; R0 j
NewWords = unescape(Words);
* x5 [% P- E0 w. |* W# gNewWords=NewWords.toString();9 O* ?! l8 ?, Y5 j( Q% g
function password(){
' K+ y8 V8 N; N! ^document.pw.txtpw.value=NewWords;2 J, a# I! c8 w& C8 V
}
# z2 T' [0 H8 m( w5 Q  E9 U/ ^/ \</SCRIPT>
, F, _' Q% i3 w' e) i8 c: R+ Y<BODY>" f# g; j. P( T, e/ u, K/ N1 R
<form name=pw>
1 a0 s. _6 B) Q: k<input type=button onclick="password()" value="解密">
+ l. @7 c% _3 e& V- _$ ~<br>
& b+ C3 h$ O- A& I4 L% X2 Q* W+ _<textarea name="txtpw" cols="100" rows="100"></textarea>, X1 j+ Z4 J8 }# u. u5 y
</form>
% _: O: E4 ?3 @</BODY># n- V" A/ U$ L4 y& O% P; i
</HTML>+ f% S& s& H, W& p- m) R; Y$ Y

+ c( p/ G5 s$ z9 \; N1 b* q方法二:7 Y7 n2 A( y0 S! Z/ o3 m

) h' e# j3 L2 f5 L8 u0 W  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:# [3 o( j  m2 h
7 ^- ^! ~" ?: c2 v  p; [% r" I9 S% Q, M
<html><head><script>
) i2 Q9 P: b2 m" A* `. Kfunction 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 ); }
+ e: F- x( u/ U5 Fvar sJsCmds ="" +; V" ^2 v4 s9 d
"?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" +
  ]( q4 P( d2 f/ Z! {# m4 B1 x"";
/ s) l5 T  Z, M6 W- nvar s= Carbosoft( sJsCmds);
9 C; Q* v0 ~% D; T; [- cdocument.write (s);
, ^7 _; ~& X5 E5 }" B</script>$ ?% P3 J2 {2 {1 C4 ~
</head><body></body></html>0 w6 p4 h( u3 m+ A8 Q" z
/ t2 [, {- T  _! c
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
* G! d! I9 f8 d5 l2 O8 i  ?; k% G; E
<script>
$ r4 d1 Q. e9 n- efunction 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 ); }
6 j7 f4 }2 N# s6 Hvar sJsCmds ="" +3 d; J5 V. v- |- s. R. ^' 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" +
& m; M# I. c. H) B"";2 L7 b2 H, ^6 f
var s= Carbosoft( sJsCmds);7 p) ~! ^4 o+ O0 X6 b
</script>) k5 Z- Z" Z! T4 u3 r8 d8 b
<form name=qq>
: g; u! Y. e0 t7 j" ]/ I# F; s; k<textarea name=ww cols=100 rows=10></textarea>
2 v( ?0 ~9 c6 z- R<input onclick='ww.value=s' type=button value="解密">3 n3 D1 _$ I  R& B3 V+ m
</form>
9 V# I" h' C4 U( E, ^( E( I, [
: H+ `6 G2 U$ z( c8 `2 v* q$ p% |# i4 ~
方法三:: G( d/ [& y7 f/ P4 z

$ [) d( ?) o7 I% w  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:# v9 n) Z7 n! B+ j9 x5 T/ a

' I1 z4 u/ O0 y7 @2 r# N9 @. t<HTML>' P- u5 a# f- c% p
<BODY>  W/ k8 D8 i" X. r+ P
<SCRIPT LANGUAGE="javascript">; i: A/ ^- w- L  z7 `
function Decode() {. p4 K0 w  u. O, `  ]. J: o* p5 `# 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;}& u4 h" p' p! a$ b4 }
</SCRIPT>
4 t) W: e. Q' d- k9 Y* _* P<SCRIPT LANGUAGE="javascript">
) a& L; q/ {& C$ B3 mfunction d (enc) {document.write(codeIt(key,enc));}
" N, W$ M5 s' C/ q4 o7 N' xvar 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;}# Y/ K, Z% m/ J9 Y2 I6 T. K
</SCRIPT>
; ~0 k- |, O5 v$ Y' y6 c- r  q+ t<SCRIPT LANGUAGE="javascript">
+ J0 d7 W9 s7 r- ]% y0 }Decode();, S: a6 n& d2 [  ]/ P
</SCRIPT>6 ~. J" W" K  ?4 |3 a
</BODY>
. m) }8 h% a* {" T& v1 d9 a</HTML>
5 ?# w! K/ S: i3 Q1 M5 T- h& ~# z; }0 j7 u4 C
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:; _6 y( Z: X2 c) C  u; B6 P. @

& b. @7 V* ^6 K! z<HTML>% `0 b& u( d9 \4 n
<BODY>0 }1 C+ w: L2 Z. l" T
<SCRIPT LANGUAGE="javascript">: ]  b* b) x1 d: Y9 B& z
function Decode() {
0 {- |. I" G& S- W: vd("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 {8 y/ Z3 M3 \; x8 T</SCRIPT>
- ]* y8 v1 ?: \: a0 e& M7 E5 v<SCRIPT LANGUAGE="javascript">" |, d# @( W  k5 I' h  X% K
function d (enc) {alert(codeIt(key,enc));}
9 G2 b' B$ v: D' T1 lvar 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;}
$ N) l( N5 h3 V* H, F" z</SCRIPT>
4 F5 e3 O0 `  ]+ Q2 z$ ?<SCRIPT LANGUAGE="javascript">
; ~+ ^* I, s7 x8 ]2 w& @Decode();
; N8 C+ Y* u4 T& }" x8 X$ B6 E2 j</SCRIPT>
% r) s' |% A* z- j; q$ ]</BODY>" f( E% x) _, ?  E
</HTML>
' n' t* O8 @5 c2 g! a5 z; u+ b
: H4 g! K7 i* U0 J, l- q  哈哈!!:=)是不是很精彩!!

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