一份相同的JAVAScript代碼,進行多次混淆加密,能得到不同的結果嗎?
答案是肯定的,能。
JShaman可以實現這個效果。即:加密結果具有多態性、變化性。
下面實測展示。
來到JShaman網站,用它默認的示例代碼做測試,如下圖所示。
配置也使用默認的,如下圖所示。
然后進行混淆加密。第一次得到的加密代碼如下圖。
打開瀏覽器的開發者工具,在控制臺中,將上面的代碼用alert的方式顯示其代碼長度。
代碼:alert(`加密后的JS代碼`.length + " bytes");
顯示如下圖,代碼長度顯示為2898字節。
再混淆一次,又一次得新結果,這次是2817字節,如下圖:
再試,又得到3000字節,如下圖:
由此可見,同一段JavaScript代碼用JShaman混淆加密,會得到不同的新JavaScript加密代碼。
這種不同結果的意義是什么呢?
它體現了JavaScript混淆加密的保護強度,多態的結果表明混淆過程中使用了不同的加密算法,所以才生成了不同的加密代碼。