对JS代码中的每个函数单独进行混淆加密

时间:2023-02-20 14:26:27

自动化脚本:单独对JS代码中的每个函数进行混淆加密

用自动化脚本工具,对JS代码中的每个函数分别进行单独混淆加密。这样加密得到的JS代码,比直接对整个JS代码进行混淆加密,效果要好很多。所谓“好”体现在:加密结果安全强度更高、结果更混乱,还特别有利于微信小游戏过审。

以下演示整个步骤:

第一步:准备测试用的JS文件,代码如下:

对JS代码中的每个函数单独进行混淆加密

第二步:启动JShaman本地部署专业版后台。(注:本次测试使用JShaman进行JS代码混淆加密,启动本地部署后,是为了方便进行本地API调用,如果没有本地部署版,也可以调用JShaman官网的在线Web API接口)。

对JS代码中的每个函数单独进行混淆加密

第三步,配置并启动自动化脚本工具。

此工具用于实现对整个目录中的所有JS文件进行混淆加密,特别的是:可以按“函数”为单位,分别进行加密处理。

对JS代码中的每个函数单独进行混淆加密

注意图中提示,正好是JS文件中的3个函数。单独对这几个函数进行了加密。

加密结果:

对JS代码中的每个函数单独进行混淆加密

如果是对整个JS文件一次性进行加密,而不是按函数分别加密,结果会有很大不同。

如下,是对整个JS文件一次性加密的结果:

对JS代码中的每个函数单独进行混淆加密

格式化并对比两个结果,如下图:

对JS代码中的每个函数单独进行混淆加密

右侧为按函数进行的分别加密,可以明显的看到,代码量更多,逻辑更复杂。且规避了加密后代码中存在一个大数据的特征(JS代码混淆加密常用技术:字符串阵列化,这个功能会提取代码中的所有字符串,并生成一个大数组),等等。总之,效果更好,更难识别,用于小游戏过审的话,更易过审。

关于过审,更具体的说,如果你是做小游戏的,在提交审核时未通过,提示“小游戏内容涉嫌代码包内容侵权”,这时可以使用上面介绍的方法解决。

对JS代码中的每个函数单独进行混淆加密