[發(fā)明專利]一種JavaScript代碼的混淆方法和裝置有效
| 申請?zhí)枺?/td> | 201310063856.9 | 申請日: | 2013-02-28 |
| 公開(公告)號: | CN103150493A | 公開(公告)日: | 2013-06-12 |
| 發(fā)明(設計)人: | 王永志;譚彰;賴曉健;陳挺 | 申請(專利權)人: | 浙江中控技術股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 310053 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 javascript 代碼 混淆 方法 裝置 | ||
技術領域
本發(fā)明涉及網絡技術領域,具體涉及一種JavaScript代碼的混淆方法和裝置。
背景技術
JavaScript是一種跨平臺的開放式腳本描述語言,同時是一種解釋執(zhí)行的腳本語言,主要應用于網絡領域的客戶端瀏覽器中。由于JavaScript需要解釋執(zhí)行的特點,所以JavaScript代碼,即用JavaScript語言編寫的代碼,必須被明文下載到客戶端,這使得以明文形式顯示的JavaScript代碼很容易被他人盜用,不能得到保護。隨著JavaScript語言在網絡應用領域的作用日趨重要,JavaScript代碼的復雜性、功能性和技術含量也越來越高,所以對JavaScript代碼保護技術的需求也日趨迫切。
JavaScript代碼混淆技術是現有技術的代碼保護方法,在JavaScript代碼被下載到客戶端的過程中,將JavaScript代碼混淆。現有技術中存在兩種JavaScript代碼混淆的方法,第一種方法是利用JavaScript中的escape()函數對JavaScript代碼進行加密,同時可以使用unescape()函數對加密后的JavaScript代碼進行解密。第二種方法是首先將JavaScript代碼中的換行符去除,其次將去除換行符的JavaScript代碼中的變量名稱用隨機名稱進行替換。
現有技術的第一種方法中,由于JavaScript中的escape()函數和unescape()函數眾所周知,所以利用第一種方法對JavaScript代碼進行混淆不能使其安全性得到保障。運用第二種方法對JavaScript代碼進行混淆后,獲取的JavaScript代碼中除了被替換的變量名稱仍存在本領域技術人員可讀取的有意義的字符,所以該方法仍然不能有效地保護JavaScript代碼。
發(fā)明內容
為了防止JavaScript代碼被盜用,同時有效的保護JavaScript代碼,本發(fā)明提供了一種JavaScript代碼的混淆方法和裝置。
本發(fā)明提供一種JavaScript代碼的混淆方法,所述方法包括:
獲取JavaScript代碼作為源代碼;
去除所述源代碼中的冗余內容后,獲取處理后源代碼;
獲取所述處理后源代碼中的變量名稱;
用預先生成的名稱替換所述變量名稱后,獲取替換后源代碼;
將所述替換后源代碼進行進制變換后,獲取混淆后源代碼。
優(yōu)選地,所述用預先生成的名稱替換所述變量名稱后,獲取替換后源代碼之前,還包括:
通過隨機算法隨機生成名稱。
優(yōu)選地,所述獲取JavaScript代碼的源代碼,包括:
根據分隔符,將所述JavaScript代碼分組存儲;
獲取分組存儲的JavaScript代碼作為源代碼。
優(yōu)選地,所述去除所述源代碼中的冗余內容后,獲取處理后源代碼,包括:
去除所述源代碼中的注釋字符和空行;
以及去除所述源代碼中的回車換行和Tab符號。
優(yōu)選地,將所述替換后源代碼進行進制變換后,獲取混淆后源代碼,包括:
將所述替換后源代碼轉換成16進制;
獲取轉換成16進制的混淆后源代碼。
本發(fā)明還提供一種JavaScript代碼的混淆裝置,所述裝置包括:
第一獲取模塊,用于獲取JavaScript代碼作為源代碼;
第二獲取模塊,用于去除所述源代碼中的冗余內容后,獲取處理后源代碼;
第三獲取模塊,用于獲取所述處理后源代碼中的變量名稱;
第四獲取模塊,用于將所述變量名稱替換為預先生成的名稱后,獲取替換后源代碼;
第五獲取模塊,用于將所述替換后源代碼進行進制變換后,獲取混淆后源代碼。
優(yōu)選地,所述裝置還包括:
生成模塊,用于通過隨機算法隨機生成名稱。
優(yōu)選地,所述第一獲取模塊包括:
存儲子模塊,用于根據分隔符,將所述JavaScript代碼分組存儲;
第一獲取子模塊,用于獲取分組存儲的JavaScript代碼作為源代碼。
優(yōu)選地,所述第二獲取模塊包括:
第一去除子模塊,用于去除所述源代碼中的注釋字符和空行;
第二去除子模塊,用于去除所述源代碼中的回車換行和Tab符號。
優(yōu)選地,所述第五獲取模塊包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江中控技術股份有限公司,未經浙江中控技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310063856.9/2.html,轉載請聲明來源鉆瓜專利網。





