[發明專利]一種Node.js的代碼加密及底層運行時解密辦法有效
| 申請號: | 201910390922.0 | 申請日: | 2019-05-10 |
| 公開(公告)號: | CN110147656B | 公開(公告)日: | 2020-10-30 |
| 發明(設計)人: | 易和陽;戈洋 | 申請(專利權)人: | 重慶迅燕科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京中濟緯天專利代理有限公司 11429 | 代理人: | 石燕妮 |
| 地址: | 400065 重慶市南岸區崇文*** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 node js 代碼 加密 底層 運行 解密 辦法 | ||
本發明涉及一種Node.js的代碼加密及底層運行時解密辦法,解決了JS源代碼無法得到有效保護,因而無法作為大型商業應用服務端技術選型的問題。所述辦法包括:加密步驟,通過加密助手程序調用C編譯的加密擴展模塊,使用JS混淆算法、RSA非對稱加密方法及模塊內部的文本加密辦法對源代碼進行加密,并生成運行密鑰;解密步驟,通過執行助手程序加載C編譯的底層運行時解密擴展模塊,指定運行密鑰和代碼入口文件,利用模塊內部的一系列操作解密代碼,并通過V8引擎及模塊內部模擬的Node執行環境快速編譯、執行代碼。本辦法較好地保障了JS源代碼的保密性,可用于Node.js代碼保護、防止二次修改等應用場景。
技術領域
本發明涉及加解密領域,具體涉及一種Node.js的代碼加密及底層運行時解密辦法。
背景技術
由于JavaScript(后簡稱:JS)為動態語言,其代碼無法被預先編譯,而是以文本可讀形式保存,因而其源代碼無法得到有效保護。近年來,JS技術演變出Webpack、Gulp等混淆打包工具,能夠將JS項目打包成用戶不可理解的混淆代碼,但此種方法治標不治本,混淆后的代碼仍然是可被二次修改的代碼,甚至有反混淆工具能夠在一定程度上逆向混淆,配合JS強大的內部調試,用戶可以輕松地推導出代碼邏輯,或對其進行修改,因而,采用混淆的偽“加密”無法保證代碼的安全性,這也是Node.js成為大規模商業服務語言選型的最大阻礙。
本發明基于C為Node.js編寫了一種解密運行時擴展,能夠在底層實時解密JS代碼并繞過Node.js直接經由底層V8引擎執行代碼,解密過程、執行過程用戶均無法查看或干預,有效地保證了代碼的安全。
發明內容
本發明所要解決的技術問題是現有技術中存在的JS源代碼無法得到有效保護的技術問題。提供了一種新的Node.js的代碼加密及底層運行時解密辦法,較好地保障了JS源代碼的保密性,可用于Node.js代碼保護、防止二次修改等應用場景。
為解決上述技術問題,采用的技術方案如下:
一種Node.js的代碼加密及底層運行時解密辦法,所述Node.js的代碼加密辦法包括:
步驟一,命令行運行加密助手程序,載入C編譯的加密擴展模塊,調用模塊內部的加密程序,傳入待加密文件列表,以及解密的密鑰保存路徑;
步驟二,加密擴展模塊使用JS混淆算法對待加密文件進行代碼混淆,生成混淆代碼;
步驟三,加密擴展模塊生成一套RSA公私鑰匙對,利用RSA非對稱加解密方法,使用私鑰對步驟二生成的混淆代碼做第一次加密,生成密文;
步驟四,加密擴展模塊使用內部的文本加密算法對步驟三生成的密文做第二次加密,并將二次加密的密文覆蓋源JS文件后生成加密后的JS文件;同時,使用所述文本加密算法對步驟三生成的RSA公鑰進行加密,存為解密的密鑰文件。
本發明的工作原理:本發明與采用代碼混淆的偽“加密”不同,本發明能夠將JS文件直接加密成完全不可讀的密文,經過加密的代碼無法被解密、修改,或是直接運行。通過本辦法執行任何一次加密動作之后,解密的密鑰均會發生變化,因而一套加密的代碼能享有唯一的解密的密鑰,同一次加密的一套代碼無法被被擴充、篡改。加密后的代碼僅能通過執行助手程序執行。
上述方案中,配合加密步驟,進一步地,所述Node.js的底層運行時解密辦法還包括:
步驟五,命令行運行執行助手程序,指定入口文件和解密的密鑰文件;
步驟六,Node.js環境下獲取Node.js全局變量,其中包含:__dirname—入口文件所在目錄;__filename—入口文件路徑;module、require—CommonJS模塊化依賴;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶迅燕科技有限公司,未經重慶迅燕科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910390922.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:應用程序的安全防護系統及方法
- 下一篇:一種用戶權限配置方法及裝置





