扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Grunt里面的grunt-contrib-uglify可以进行类似的压缩和混淆,但是还有其他的工具也可以,例如YahooYUICompressor,所以说不一定是那工具出来的。
成都创新互联公司是一家专注于成都网站设计、成都做网站与策划设计,蓬安网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:蓬安等地区。蓬安做网站价格咨询:18982081108
早期的混淆是采用eval的机制来混淆的,把源代码的结构用eval改的面目全非,这个过程是可逆的。
而类似grunt-contrib-uglify这样的工具可以用自定义的符号对代码进行混淆,如果不知道自定义的符号key,过程是不可逆的。
这不是混淆,只是使用16进制表示的ASCII码~
单独提取出字符串,在后面加上.toString()进行调试即可看到原本字符串。
你的这句转码后如下:
window["document"]["write"]('sc')
相当于:window.document.write('sc')
很有可能是输出一个script标签的代码段的开始。
\x实际上就是将后面的16进制数对应到ASCII码表中的相应字符
第一段应该是
var _$ = ["frameset framespacing=\"0\" border=\"0\" frameborder=\"0\"", "frame name=\"main\" src=\"\" scrolling=\"auto\" noresize=\"noresize\" /", "/frameset"];
window["document"]["writeln"](_$[0]);
window["document"]["writeln"](_$[1]);
window["document"]["writeln"](_$[2]);
最后一段应该是
var _$ = [' ', '_self', ' '];
function a() {
window["b"] = null;
window["open"](_$[0], _$[1], _$[2]);
window["close"]()
}
js反混淆需要借助第三方工具:
1、在百度搜索js混淆还原
2、把要还原的代码放在第一个文本框,点击js解混淆就可以了。
结果在下面显示
可以使用:
Google Closure编译器或其他第三方混淆工具
Google Closure编译器仍在使用,并且UglifyJS可以通过节点包管理器在本地运行:npm install -g uglify-js
私有字符串数据:
将字符串值设为私有是另一个问题,而混淆并不会带来太大好处。当然,通过将源打包成乱码,最小的混乱,可以通过 模糊* 性 获得轻便的安全性 。大多数情况下,查看源的是的用户,客户端上的字符串值是供他们使用的,因此通常不需要那种私有字符串值。
如果确实拥有一个不希望用户看到的价值,那么将有两个选择。首先,可以进行某种加密,该加密在页面加载时解密。那可能是最安全的选择之一,但也可能是很多不必要的工作。可能可以对一些字符串值进行base64编码,这会更容易,但是真正想要这些字符串值的人可以轻松地对其进行解码 。加密是真正阻止任何人访问的数据的唯一方法,大多数人发现加密比他们需要的安全性更高。
js反混淆需要借助第三方工具:
1、在百度搜索js混淆还原
2、把要还原的代码放在第一个文本框,点击js解混淆就可以了。
结果在下面显示
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流