捌玖网络工作室's Archiver

admin 发表于 2008-1-19 23:24

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

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家分享!!6nn|SN,{8X9Z

$b$|#a m#H$ONn H8gi+f .P`M {pJS
方法一:s(j9w:s?/^o

]*Q0Be%A5G oM%E-_@7~B
  有一种加密的办法是采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:
sSS ZN9Z-e [-XE"ug*I*m]
<HTML>
?%W+r0ea8QkX S <SCRIPT LANGUAGE="javascript">
y.s W-m0a kw 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":i P.{ VR7Y
var NewWords;2Q9WWd7\
NewWords = unescape(Words);
3T6|7L_4m:iS1i document.write(NewWords)!gdKfa"i}"} rx
</SCRIPT>
J6|UG5j](S8m!S` <BODY>
WEV/oFOL/J </BODY>f4v'i%_-G
</HTML>6cs4C9C$eu2Y7s

9{:e8f+P7g~   这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:2VD7YL*r u
i Q*PBu } {
<HTML><SCRIPT LANGUAGE="javascript">}#F*p,hH4o)Sn(J3J
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"
)J },G6oqGb&uwS var NewWords;f T\8lN@4p$CR;We
NewWords = unescape(Words);
.b,x*U$L!M@Q,Or NewWords=NewWords.toString();
1e??%t&G/jy function password(){4i Me{,P/I k${Wja
document.pw.txtpw.value=NewWords;
w'b o6JT.Q g }
7MH5ZK n] </SCRIPT>m$i~5sZ C1Q
<BODY>
~4f/S2{'a <form name=pw>
9pVe Wcq^ <input type=button onclick="password()" value="解密">1Jk(Y1f+w&_Z
<br>
n-xv2U^sh([4h <textarea name="txtpw" cols="100" rows="100"></textarea>v`\EGlsW9J"v
</form>
$j"V#QZivQ7|{@_I-bu:V </BODY> h z6w._E#G%O(H
</HTML>-o"hyp#^y-{

:XQ5G:\ zf 方法二:LMq.~u
?+n~,r l:l,Hk)G
  有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换成Unicode代码。下面的例子是一个分帧的页面:
"B7_*O5]$z5}-tG /^g(B2[&@ c
<html><head><script>i1cba t-C dd
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 ); }#E4OKN2Vzc*BD
var sJsCmds ="" +
i+|F6IXi9y6AS "?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" +{SH)d\Oa:R3S2f
"";
+zb/{{1V CvU var s= Carbosoft( sJsCmds);#|,I7Y9p'Z2@4l
document.write (s);9R:lhkvW b
</script>c.fV Gx x7P&yLdg
</head><body></body></html>
lp,vk0h,jD Z!cD*a A#??SB
  从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:
qPsh1\
Bv%m.o-\ C <script>
4E U,{8S:pWc 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 ); }
h/Pc~6p&y var sJsCmds ="" +E)ZTX1c'rA-_9]
"?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" +&Z9c(B1uS!a s9Om
"";X4^ u5r.Pq#[&w
var s= Carbosoft( sJsCmds);;p*|dy;w)lr!WoInz
</script>"uKZN!@4w/U U3_0k
<form name=qq>
SH&F0_tV3@S4a!MO <textarea name=ww cols=100 rows=10></textarea>(o)e,]'`7g^G0q
<input onclick='ww.value=s' type=button value="解密">(Y Di?s/L I!\9W7m
</form>pmFW+c

/V3v;F;\7o/C_ %h ~_9c#B4F(YvQ
方法三:
;_$T Sd&W-q?%R n9?'y :X1i_.y&NF9n;]*Q:M
  有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:
RMU)Vja'A&m
| {pz6|@ <HTML>
/QHx.o$anTf*e <BODY>
.EjwH9\9` <SCRIPT LANGUAGE="javascript">
"]iM;NUB1m C function Decode() {^G2h k5y:w&|d6r%a I
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;}qT}|1q"A"[QZb
</SCRIPT>;oW`!` J.o Iw
<SCRIPT LANGUAGE="javascript">7e}&^/L J
function d (enc) {document.write(codeIt(key,enc));}+PI Q(Gh N7k1?
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;}3M$Du^-x6R*a"n
</SCRIPT>
9N2`$ST"w <SCRIPT LANGUAGE="javascript">m?.N+J Z3m*Pr)h
Decode();:[E uvyS]G.ZW
</SCRIPT>/dT$LT V4aJ4?8U.t"n
</BODY>
k7} X:q-RJ1C4d:V </HTML>Y4oH ss
Erv#b m|
  还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:.prim1\0t

/_/g"FDm*@ <HTML>'eW l%p!N;j ~? ETi
<BODY>
2M*C@s(J/rc` <SCRIPT LANGUAGE="javascript">'LJ0ZV9KL b
function Decode() {
!EW'd2Y} z1k 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;} u!B1z}#O
</SCRIPT>5Lu%W|9b1W~
<SCRIPT LANGUAGE="javascript">
YB$@1i/s~1P*C function d (enc) {alert(codeIt(key,enc));}-[x _Y} ] x(\)| {
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;}
ri)R'N6A </SCRIPT>
!w FMg(] l D4B <SCRIPT LANGUAGE="javascript"> t!r2MC$D*h V9~i
Decode();yHT:\ph`d!_{
</SCRIPT>
%V8Mug'QyQ m"Z ~ </BODY>
w\;l^2{1s gk </HTML>0d+S X(uHe%W+M#E4H:[

9{^9TvGY lk   哈哈!!:=)是不是很精彩!!

页: [1]
【捌玖网络】已经运行:


Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.