返回列表 发帖

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!2 W, d  u! t+ Z8 }" b5 ?& s

+ a6 [) b% i, e4 _  a! L' `6 G' z+ P( z% u7 o4 P- t* Y
方法一:
  x- a) t% E, s# D
% A& e- q  n* @7 C% c: s
* e+ s0 o/ {: k  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
* ~$ S5 ]0 m. F4 N) Y' K  _) c+ x+ P2 O4 N# o* }8 }9 _3 e
<HTML>- `; {9 N1 v9 U" J; t; Q7 ~, ]1 j2 J
<SCRIPT LANGUAGE="javascript">1 ]) ?. C1 ~, P% t) ^1 ^
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 ~$ N, n0 a+ b3 }; S( q! {var NewWords;
7 t$ d1 A% v& O3 gNewWords = unescape(Words);; i0 j3 U1 `0 A% d$ D
document.write(NewWords)  m3 T1 ^$ }. k: A0 O/ f- L
</SCRIPT>. V8 t$ L2 k% P" P; ^
<BODY>
1 B& V5 c/ P1 J7 P2 \* @& D</BODY>
5 s" |* e& E0 }</HTML>: h% g- y2 O6 o" _0 [

3 k  S- M4 b+ O. {  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:1 N  X* V! S) S; Y' Z9 Z) o

/ u. E3 @( n4 v- _7 W" f& S; i" G<HTML><SCRIPT LANGUAGE="javascript">) I, b9 T8 @0 B2 Y4 O- }
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"
' _: w  l# {# W1 Y! L# avar NewWords;
! u  \5 v. F  C, ]  v2 |# n! x' eNewWords = unescape(Words);
3 g# k- W! u6 Z& _" D( U$ [6 F; C8 U* ANewWords=NewWords.toString();8 Q# t" X2 [% W" ]8 c% \9 U+ J
function password(){
0 s  V  q& ?$ m& X5 n/ B. Xdocument.pw.txtpw.value=NewWords;+ O0 t! ^" I% L' Z; `1 n
}1 ~9 s4 h( U1 r5 E% Q8 O# A& G
</SCRIPT>2 O. g+ m  @& q  |
<BODY># @, E( Y9 }5 o3 P
<form name=pw>( V* E% z, R& Y% b4 s* i, \; p
<input type=button onclick="password()" value="解密">8 ], ]" W! X1 m5 l
<br>
, V8 J8 K6 q! `/ w+ Y1 [9 r<textarea name="txtpw" cols="100" rows="100"></textarea>! g; a3 T  j% A% A
</form>
6 D0 Y; m. B6 w5 Q. z0 q4 `</BODY>
2 o" K7 ~: M  M) q8 U' H</HTML>
" i4 q3 }* Q  U0 M
, y/ r- j7 z4 f( U9 t/ n( i1 m方法二:
0 X" \7 C+ C& e7 J4 M9 B" E2 G( ^; ~2 m1 |9 y
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
7 T. c! i. W) J7 p9 y
1 u. ]- O" _! o- s<html><head><script>
: S4 {# e: J$ z1 t  h2 d* I4 cfunction 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 ); }
% S3 P# Z3 s+ j6 ovar sJsCmds ="" +
+ {# E3 S6 W3 N) b"?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" +; j( j% p3 G; x5 R, Y, V
"";
, K' M: {3 _6 O, ^: h6 kvar s= Carbosoft( sJsCmds);5 s) D7 ?  p% {- O/ ^+ Y6 l9 I
document.write (s);" k. Z) `6 U2 G  X  \
</script>7 m4 ]: w/ V: R# G" b: [0 u0 @
</head><body></body></html>
$ u" K& P* D6 `0 k; P5 Q# y% m+ @' c) m! L
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:2 V0 W2 S' V* V+ w  U* B) v
# T: \* [* I- Z! q6 Q" R2 ^
<script>+ |& y* O. X9 C* K# m
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 ); }
0 z% u' q/ X9 M" n; |3 s; G+ {var sJsCmds ="" +
. U. |+ ]' X0 ~4 a"?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" +$ ?+ W& Z/ R. o( ?( X7 M
"";* ^0 F  m5 ~# j. ^3 n# t. W
var s= Carbosoft( sJsCmds);
1 u: ^6 b3 ]" x$ Z/ b: ^</script>7 v+ l' @: _3 n& I$ Z! B  A; ]* o
<form name=qq>( O' a0 X0 G8 x, R- o/ `$ G8 b
<textarea name=ww cols=100 rows=10></textarea>
6 n4 f4 A) M! o# K2 ]/ u1 t9 T, e<input onclick='ww.value=s' type=button value="解密">5 g, o6 X% D* K$ E& S$ J& Z
</form>9 O. o0 b2 H, p

3 H& e7 L) E$ i0 D3 s. D* ^6 ^' b% g" A, R; B4 o6 |, ]
方法三:
& M9 ?6 M0 a+ a( {! c( m3 G7 y: O7 [
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:4 ~8 A, \# A. Q
) \. V1 q$ J) f0 j
<HTML>) Z+ L( h2 E7 S! x* r
<BODY>
7 v8 m2 x  c3 }2 V4 N. V<SCRIPT LANGUAGE="javascript">0 c# V8 c& C  F" E, t
function Decode() {
! C+ j2 ~3 K8 E: j2 F+ D" i# S2 {" 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;}
4 `( F9 Y4 z- |: O( x: y</SCRIPT>- P7 [9 e, C7 N+ k' h+ R# b) `8 {
<SCRIPT LANGUAGE="javascript">; D: s% I. X$ F# H
function d (enc) {document.write(codeIt(key,enc));}7 `6 ]4 e" K# x- `- k' v
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;}
2 J* ~) K! s5 Q* V- Q7 e+ j</SCRIPT>
3 M1 E! M/ ^. I7 _+ n5 {/ |" F* ^<SCRIPT LANGUAGE="javascript">3 `# }. b$ f$ l% K9 i; R; C5 g. b! r
Decode();
9 J4 i( t1 O; T2 ~- U2 q- G</SCRIPT>
1 |1 c) x' L1 N; ?$ M9 v</BODY>
' g7 o+ P' v  z" \; J" M1 q* A</HTML>4 L9 K& Y& x* _+ S* F! \5 D/ e& I
* h9 v0 M9 c+ |' _, b* Q) `
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:; ^- x- P1 L! R

% Q) b7 B' m5 \' b% f' R4 a; K# O<HTML>
+ E0 [+ o2 O4 J: a& a, z8 ?  _3 b<BODY>* F7 J, x0 |9 s4 o/ |8 v4 B
<SCRIPT LANGUAGE="javascript">3 m* P+ B6 X  x" }8 i8 a8 b
function Decode() {% P. c+ K/ ]0 o- C3 f
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;}
8 V) l( d6 z* y! f7 o8 @7 z</SCRIPT>) B( h4 o& B6 h8 c
<SCRIPT LANGUAGE="javascript">8 k7 A- @# T4 n* d5 l7 n
function d (enc) {alert(codeIt(key,enc));}' n" J. s4 D) 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;}+ _0 y& j6 s9 |9 i( e7 N' E* |9 v: y7 ~* y
</SCRIPT>
1 g% ^% [! Q1 ~$ x7 k  I: K+ @<SCRIPT LANGUAGE="javascript">8 s! b$ _" O/ g9 \5 y* S
Decode();. ]1 I. I; z8 S. D9 i4 F
</SCRIPT>
: r& ]1 f' x- o& l( W; v</BODY>
7 B$ x4 {  a" j( N. ?% Q% M</HTML>
) t8 u3 N5 I- Z$ `4 x3 N
: ?8 s. m8 _; }: ^/ K* Z3 c  哈哈!!:=)是不是很精彩!!

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