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

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!$ P  n; L$ B& i. Z" w0 ~- P

6 J4 h" P6 B: j9 z+ Z/ ^( s/ j% U5 N$ ^' \$ j( a6 P
方法一:
% z2 y4 Q) x! J+ R' @6 A0 I+ G5 e3 ~. @4 O3 l4 V
& D, ?5 {: p1 Z" _+ d
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
/ c# @& L: L" k0 I7 {4 Q/ g* A2 Z
<HTML>
! |& w% n4 b# \( N2 Q+ y<SCRIPT LANGUAGE="javascript">" Y% r3 _( e" e, J8 Z& ?- Y# C
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"
4 a  g% I1 V, X0 ^8 }- jvar NewWords;! F) S2 Y$ I5 l- }$ u9 G7 w
NewWords = unescape(Words);
4 }& c! [2 ~4 Sdocument.write(NewWords)
) |' }0 @6 s8 j, O, J8 O</SCRIPT>
$ P( T2 I; v! N+ a3 |- j# C7 N# g2 q; W<BODY>, E( D! j5 F. \; o0 K5 ^
</BODY>
8 j1 ?3 |) F. D6 ~/ X</HTML>' L% G9 R& A. c, |: J

# H) j  t% `$ g  这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:5 S- s) |4 T5 b+ u" _3 H/ m

' A; V8 z  Y& T- O+ f3 `<HTML><SCRIPT LANGUAGE="javascript">" U2 d1 c- s# D. E3 @$ W4 S: _. [
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 a, H" o! a0 d' F; M. C8 Bvar NewWords;
4 ~3 @* o  N; T. W9 I: ]! MNewWords = unescape(Words);
2 B  q  J" O" k  o/ F" H5 PNewWords=NewWords.toString();
2 ?6 X( E9 W3 P  Ffunction password(){- \1 o% W/ ?5 q5 k# j( m2 d
document.pw.txtpw.value=NewWords;: W8 i: R6 ~- R, Z" r8 c* |
}
' n9 J! R/ n+ S3 z8 ]$ c. ]</SCRIPT>5 Q  r. a9 j; I9 I1 q# Z* @' T
<BODY>2 @+ h! a5 P( l" z/ f6 I4 Y
<form name=pw>9 \8 K1 l  y0 v( p. T8 I7 W( q7 b
<input type=button onclick="password()" value="解密">
4 Y# d! @( }8 d3 u; N<br>! N  k+ ^* k7 w/ \2 l
<textarea name="txtpw" cols="100" rows="100"></textarea>" B: w6 j9 K- V8 P; S5 Q
</form>% H( g0 i/ }9 G* H- d
</BODY>5 H/ D$ g7 x- L4 V, x
</HTML>6 T1 z3 ^! f% K3 S$ h0 U' ?

0 c' m" v' R. D3 R  E! {" ~6 F- I方法二:
( k3 [" m  U! N3 Q" V3 y2 z+ g: T/ h. A: @& e1 r7 R8 p5 y# M
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:" _$ Q" i( r2 u7 x! t" W. R  d

% O7 m& L/ {0 j. }& l0 m' k$ |<html><head><script>9 w3 g0 }4 B) H( Q1 m; 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 ); }
; B0 `4 }' K6 a; qvar sJsCmds ="" +% [4 v( h8 p: f% |- K& 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" +. L" z1 P5 A4 Y; d
"";( S, Y0 c$ _4 l. ?+ W  s; p2 ~2 ?
var s= Carbosoft( sJsCmds);2 i0 o( k. ?; ?& a9 d
document.write (s);
! M6 ?+ y; s: Y0 t( i: M</script>
; }! c7 G; Q% W# n; f  [- f$ X</head><body></body></html>
& }0 a' x# S- Y& T; T) U+ X/ t8 o0 ?. u' T  U- v/ i
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
9 z, t; I0 s* Y. `' U, U8 M7 i: L8 G2 T) T3 w1 w: Y
<script>
8 k6 y7 N( Z: {3 |' p1 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 ); }+ _  _7 R$ |# X% u4 |
var sJsCmds ="" +
: ~8 `8 ^# _* Z6 V$ q5 {9 s"?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" +
# a5 T5 {. l( H" c7 x% b+ ["";
4 ~7 g( j$ R+ P8 g  ^3 }var s= Carbosoft( sJsCmds);' H+ A8 t4 M: X# G8 J4 r2 ?
</script>3 B5 c) e$ a( t5 C3 h
<form name=qq>: n0 x# o7 ^; d9 y+ O$ n
<textarea name=ww cols=100 rows=10></textarea>& v9 p6 y0 g* n+ j+ F
<input onclick='ww.value=s' type=button value="解密">
# \- v- x, n0 r" J" K$ M2 L</form>8 Q8 a7 F/ q( ?2 |
* m) i) d" L! u

/ p& b4 f  @' |$ O方法三:
- u1 T# ?/ H9 Q7 u) T* u# T7 E0 j! Z
; H' u: q' j4 T9 f6 Q# ~& r( {  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:8 n7 s4 |% T. i, Y

7 E. \  j2 _- L$ |) m5 Z<HTML>8 A- W8 T; n7 E  _* O/ L
<BODY>4 p  I' T$ T9 ?. T9 N
<SCRIPT LANGUAGE="javascript">
. n: T( O) w. H4 k0 G7 [function Decode() {
- q5 Z% t3 b* Zd("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;}# N# Y% B  B0 W! V7 e
</SCRIPT>2 B- F" J2 h4 _9 D
<SCRIPT LANGUAGE="javascript">
4 n/ k$ H( y4 z* n8 Ffunction d (enc) {document.write(codeIt(key,enc));}5 B& Y* K' {5 \  C0 q+ m+ j
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;}1 X7 B+ q* O5 _* @7 i$ f  v! u1 {
</SCRIPT>/ y% O$ C$ G" k# V" w
<SCRIPT LANGUAGE="javascript">* G/ }7 o- d8 i' J# u
Decode();
7 r0 ?& N" K- q9 Q/ G5 n( U% J$ m</SCRIPT>3 n8 Q6 R/ A  q1 k. g; e
</BODY>
' Y7 E% A1 t. O! O</HTML>  g( g6 G+ Q8 H" A8 K
  c6 f9 E$ E- o& N& A
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:5 r+ z( `! q- p- q; x
5 y" [% i' u$ Y1 A9 e" V8 E
<HTML>
' N8 ~# f% N, j, C# R<BODY>
2 E* q1 @. U( _# N! A- ?. h<SCRIPT LANGUAGE="javascript">
" M, ^  ^& R" }% t& p( t5 o( Hfunction Decode() {
* M  f2 l7 x3 od("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;}1 v. |* d: R3 {/ `8 }2 `& M
</SCRIPT>' B1 R6 W- ?6 {5 f( G. q% w! V
<SCRIPT LANGUAGE="javascript">
, c/ ^/ R$ c0 [& `/ g: Xfunction d (enc) {alert(codeIt(key,enc));}1 [0 Z( q/ [& l0 T  ]
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;}, d' k9 @/ ?9 T- P
</SCRIPT>
6 }8 g* h& M  ~) s) h- O<SCRIPT LANGUAGE="javascript">
  H1 L# B  Q+ q3 K: vDecode();! F% i: o* {5 R2 B3 ]3 H
</SCRIPT>. W+ ?1 _7 [2 X3 w. q
</BODY>
- i. _! o; m. I- c3 {7 Z</HTML>
+ W/ t) r( V' C1 X! g2 Z8 f
4 e6 o6 Z$ g. `  哈哈!!:=)是不是很精彩!!

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