Javascript: 網頁原始碼加密


阿瑟 發表



STEP1:【前言】
上次有一位網友問過了為什麼網頁原始碼會是亂碼,後 來阿得去找了一些資料,終於抓到了訣竅,在這裡與大家介紹一 下這種新的隱藏原始碼的方式。

STEP2:【加密】
這次的主角是Javascript,Javascript中有一個叫做escape的函式,作用是將一段資料轉 換成16位元碼,嘿嘿嘿,用了才知道好不好喔。
這邊阿得要教大家寫一個簡單的編碼器,您只要把寫好的網頁原 始碼利用這個加密器加密就ok了,他就會轉成16位元碼,以下是 編碼器的寫法...
<SCRIPT language=javascript>
<!--
var Words;
function SetWords(word)
{
Words = escape(word.value);
}
function SetNewWords(form)
{
var NewWords;
NewWords = Words
form.NewWords.value = NewWords;
}
-->
</SCRIPT>

<form method=post>
<br>請在這裡輸入要加密 的網頁的原始碼:<br>
<textarea name="Word" value="" rows=15 cols=70 onChange="SetWords(this)">
</textarea>
<br> <input type=BUTTON onClick="SetNewWords(this.form)" value="按我轉換" name="BUTTON">

<br>按下轉換扭以後, 以下是加密過的原始碼 <br>
<textarea name="NewWords" value="" rows=15 cols=70 onFocus="this.select()" onMouseOver="this.focus()">
</textarea>
</form>


這是阿得從一個朋友那邊得知的,原作者已經不曉得了...(如果 原作者路過也請告訴阿得一下)
阿得針對以上的原始碼簡單講解一下:

escape(word.value),把第一 個方塊中使用者輸入的資料轉成16位元碼。

第二段只是把第一個方塊轉換後的資料顯示在第二個方塊, 這是一支很簡單的Javascript程式,其他的阿得就不講解了,其實您只要把上面這個加密器的原始碼貼到一個HTML文件中,就ok了。
執行該HTML程式,把您要加密的網頁的原始碼塞入這個加密器,取得加密後的原始碼。

STEP3:【使用加密後的內容】
拿到這個16位元碼要怎麼辦呢,其實很簡單.
<SCRIPT LANGUAGE="Javascript">
<!--
var Words ="";
function SetNewWords()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
}
SetNewWords();
-->
</SCRIPT>
先把這整段Javascript貼到一個空白的網頁,您只要把剛剛的16 位元碼放在這個Javascript中的var Words="",後 面的雙引號中就可以了,跑跑看,嘿嘿嘿,功能不是和原本沒加密的網頁的一 樣,人家看原始碼又看不懂...
這段Javascript大家仔細看看,細心的人已經看出來了,利用 unescape來還原16位元碼,然後再利用document.write將還原後 的HTML來印在網頁上,呵呵,沒錯,既然能夠加密,當然就能夠 解密。

STEP4:【解密】
呵呵,這是一個解密器,只要將16位元碼放在第一個方塊中按下 轉換就會還原了,和加密寫法一樣只是把第一個方塊中的資料利 用unescape還原:
<SCRIPT language=javascript>
<!--
var Words;
function SetWords(word)
{
Words = unescape(word.value);
}
function SetNewWords(form)
{
var NewWords;
NewWords = Words
form.NewWords.value = NewWords;
}
-->
</SCRIPT>

<form method=post>
<br>請在這裡輸入想要解密的網頁原始碼:<br>
<textarea name="Word" value="" rows=15 cols=70 onChange="SetWords(this)">
</textarea>
<input type=BUTTON onClick="SetNewWords(this.form)" value="按我轉換" name="BUTTON">

<br>按下轉換扭以後, 以下是解密後的純正網頁原始碼 <br>
<textarea name="NewWords" value="" rows=15 cols=70 onFocus="this.select()" onMouseOver="this.focus()">
</textarea>
</form>
阿得之前也說過,Javascript是客戶端的Scripting語言,既然 都已經下載到客戶端了,下載以後的資料要偷是很容易的,有辦 法藏,就有蛛絲馬跡可尋,這種方法只是防防懶人,如果用unescape還 原的話一樣被人家看光光。


STEP5:【結語】
這張算是很有趣啦,您可以試試看,藏起來以後像是阿得這種懶 人就很少去用加密器還原了。

最後更新日期: 12/24/2001 4:42:53 PM