本文分享的是一个动画效果源码,演示JS代码是如何被加密的。
先看效果:
一般我们在进行JS加密时,提交原始代码,紧接着就直接得到了加密代码,混淆加密过程是黑盒状态,是不被我们知道的。
这个动画,用慢放的效果,逐帧演示了JS代码在进行混淆加密时发生的变化。
比如:变量名变短、回车换行消失、空格删除、消除注释、函数调用变成自执行函数。
注:动画演示的是JShaman专业版使用部分功能对JS代码进行混淆加密的效果。
h2动画演示:JShaman是怎样对JS代码混淆加密的/h2buttononclick="mini_change();"开始/buttonbrbrtextareaid="js_code"style="width:px;height:px;font-size:19px;"functionget_copyright(){vardomain="JShaman专注于JS代码混淆加密";varfrom_year=;varthe_copyright="(c)"+from_year+"-"+(newDate).getFullYear()+","+domain;returnthe_copyright;}//输出信息console.log(get_copyright());/textareabr注:演示的是JShaman专业版部分效果scriptvarindex=0;varjs_code_textarea=document.getElementById("js_code");varchange_matrix=[["\n",""],["",""],["vardomain","var_"],["\n",""],["",""],["varfrom_year","var_2"],["\n",""],["",""],["varthe_copyright","var_3"],["from_year","_2"],["\n",""],["",""],["\n",""],["the_copyright","_3"],["domain","_"],["\n",""],["//输出信息",""],["\n",""],["functionget_copyright(){",""],["}",""],["get_copyright()","function(){"+`var_="JShaman专注于JS代码混淆加密";var_2=;var_3="(c)"+_2+"-"+(newDate).getFullYear()+","+_;return_3;`+"}()"],[`var_="JShaman专注于JS代码混淆加密";var_2=;var_3="(c)"+_2+"-"+(newDate).getFullYear()+","+_;return_3;`,""],]functionmini_change(){js_code_textarea.value=js_code_textarea.value.replace(change_matrix[index][0],change_matrix[index][1]);index++;console.log(index[0]);if(indexchange_matrix.length-1){console.log("执行");eval(js_code_textarea.value);alert("演示完成");return;}else{setTimeout(mini_change,);}}/script
这段代码中,应用了一些不错的JS技巧,参考修改,也可以用来做其它文本演示动画。