84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
之前在某游戏页面上看到一些不错的交互效果,用Chrome开发者工具进行查看的时候,发现变量和函数名被优化成为a,b,c等单字母,请问一下这个是用Grunt里面的grunt-contrib-uglify进行压缩和混淆的吗?请问怎样才能把这些处理过后的代码还原成未进行混淆的源码呢?
Grunt里面的grunt-contrib-uglify可以进行类似的压缩和混淆,但是还有其他的工具也可以,例如Yahoo YUI Compressor,所以说不一定是那工具出来的。
早期的混淆是采用eval的机制来混淆的,把源代码的结构用 eval 改的面目全非,这个过程是可逆的。
而类似grunt-contrib-uglify这样的工具可以用自定义的符号对代码进行混淆,如果不知道自定义的符号 key,过程是不可逆的。
而后一种方式有点像谍战中的通过“代号”找人一样,打个比方: 我党的地下工作者有:xx(不告诉你名字) -> 三爷 xx(不告诉你名字) -> 四儿,这个名单中统并不知道,所以名字不能告诉你 中统获得一件情报:三爷打算5点去找人联络,请你告诉我,三爷是谁?
部分内容参考自:【知乎】在 JavaScript 开发中怎样做代码混淆?
除非它提供了压缩对应的键值表,否则还原基本是不肯能的,最多用chrome跟你格式化下。
Grunt里面的grunt-contrib-uglify可以进行类似的压缩和混淆,但是还有其他的工具也可以,例如Yahoo YUI Compressor,所以说不一定是那工具出来的。
早期的混淆是采用eval的机制来混淆的,把源代码的结构用 eval 改的面目全非,这个过程是可逆的。
而类似grunt-contrib-uglify这样的工具可以用自定义的符号对代码进行混淆,如果不知道自定义的符号 key,过程是不可逆的。
而后一种方式有点像谍战中的通过“代号”找人一样,打个比方:
我党的地下工作者有:xx(不告诉你名字) -> 三爷 xx(不告诉你名字) -> 四儿,这个名单中统并不知道,所以名字不能告诉你
中统获得一件情报:三爷打算5点去找人联络,请你告诉我,三爷是谁?
部分内容参考自:【知乎】在 JavaScript 开发中怎样做代码混淆?
除非它提供了压缩对应的键值表,否则还原基本是不肯能的,最多用chrome跟你格式化下。