JS加密、JS混淆技術原理簡介
JS加密、JS混淆、JS混淆加密,所指相同,都是指對JS代碼進行加密式處理,使代碼不可讀,以達到保護代碼的目的。
其原理,根據加密或混淆處理深度不同,大體上可分兩種,下面簡述技術原理。
第一種,對代碼進行字符替換,比如Eval加密、JJEncode加密,都屬于這一類。這種方式,直接對JS代碼進行處理,是可逆的加密。執行時,加密的代碼會經過解密算法,還原出原始代碼,對原始代碼進行執行。這屬于一種簡單加密混淆,可逆、容易解密,安全性很低。
第二種,操作層面與前者最大的差別是,不是對JS代碼直接進行分析并加密,而是會進行低層處理,先會對JS代碼進行詞法分析、語法分析,轉化成AST(抽象語法樹),得到AST之后,混淆加密操作都是在AST中進行,完成語法樹加密修改之后,再根據AST重新生成全新的密文式JS代碼,專業的JS代碼加密混淆工具,比如JShaman、JScrambler都是屬于這一類。如此混淆過的JS代碼,人無法讀懂,但機器可識別,是可以直接運行的,不需要經過解密,因此,不存在通過解密而直接逆向出原碼的問題,安全性高。在業內是被廣泛認可和應用的。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.