JS混淆加密:僵尸代碼
僵尸代碼植入,是JS混淆加密中一項(xiàng)很有用的技術(shù)。
比如JShaman,作為國(guó)內(nèi)知名的JS混淆加密產(chǎn)品,便具備這一功能。
它可以給原始代碼中增加一些額代的功能代碼,比如:變量定義、函數(shù)調(diào)用、if語(yǔ)句、switch語(yǔ)句,等等,以及這些新增代碼之間的互相調(diào)用,甚至原始代碼也會(huì)調(diào)用這些新增代碼。
這樣,邏輯上而言,原始代碼會(huì)憑空多出了許多新代碼、新調(diào)用關(guān)系。
但是,這些新增的代碼,雖然存在,卻不會(huì)影響原始代碼的正常執(zhí)行、正常邏輯。這些被新增的代碼,即是“僵尸代碼”。
但它是非常有用的,直觀的用途便是:防止代碼被任意分析。新增的僵尸代碼,會(huì)干擾分析過(guò)程、干擾逆向分析。因?yàn)榻┦a是混在原始代碼中的,且有互相調(diào)用關(guān)系,因此使人很難分清楚哪些是原始正常功能的代碼、哪些是新增出來(lái)的代碼。
此外,更有用的是:它對(duì)于小游戲、小程序過(guò)審非常有幫助。業(yè)內(nèi)人都知道,當(dāng)相似的小游戲或小程序代碼提交審核時(shí),常常會(huì)因?yàn)榇a雷同而被判定為代碼侵權(quán)。而僵尸代碼植入功能,會(huì)憑空新增出不同的新代碼,特別是:每次JS混淆加密所增加的“僵尸代碼”還是隨機(jī)的、不同的。因而極大的降低代碼與之前的相似度,從而更容易過(guò)審。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.