Jor*_*gas 18 obfuscation reverse-engineering minify unminify
这个问题恰恰相反,哪个Javascript minifier(cruncher)做了一个Google用于其JS API的东西?
我想了解谷歌是如何加载的,所以我可以用非流行的JS工具包构建我自己的.
pat*_*ros 15
嗯,除非有缩小的 - >原始变量名称的映射,否则恢复变量名称是不可能的.否则,我认为该工具的作者可以赢得Randi的精神专长奖.
Sha*_*ane 15
我只是偶然发现它很棒.它扩展了代码.它具有统计变量重命名.例如,如果您有此代码:
var g = f.originalEvent.targetTouches[0];
Run Code Online (Sandbox Code Playgroud)
然后它将你的代码变成:
var touches = event.originalEvent.targetTouches[0];
Run Code Online (Sandbox Code Playgroud)
相当不错的猜测,是的.
它转过来了:
d.slide.hasClass("selected") ? (e.onSlideOpen.call(d.prev.children("div")[0]), q ? (e.rtl && d.slide.position().left > i.w / 2 || d.slide.position().left < i.w / 2) && h.animateSlide.call(d) : t && d.index ? (h.animateGroup(d, !0), h.fitToContent(d.prev)) : d.slide.position().top < i.h / 2 && h.animateSlide.call(d)) : (setTimeout(function() { e.onSlideOpen.call(d.slide.children("div")[0]) }, e.slideSpeed), h.animateGroup(d), t && h.fitToContent(d.slide)), e.autoPlay && (f.stop(), f.play(l.index(j.filter(".selected"))))
Run Code Online (Sandbox Code Playgroud)
进入:
if (e.slide.hasClass("selected")) {
settings.onSlideOpen.call(e.prev.children("div")[0]);
if (val) {
if (settings.rtl && e.slide.position().left > box.w / 2 || e.slide.position().left < box.w / 2) {
self.animateSlide.call(e);
}
} else {
if (isMac && e.index) {
self.animateGroup(e, true);
self.fitToContent(e.prev);
} else {
if (e.slide.position().top < box.h / 2) {
self.animateSlide.call(e);
}
}
}
} else {
setTimeout(function() {
settings.onSlideOpen.call(e.slide.children("div")[0]);
}, settings.slideSpeed);
self.animateGroup(e);
if (isMac) {
self.fitToContent(e.slide);
}
}
if (settings.autoPlay) {
node.stop();
node.play(tabs.index(options.filter(".selected")));
}
Run Code Online (Sandbox Code Playgroud)
我正在处理的一个库有几个错误,在花了几个小时试图破译代码后,发现这将节省我一大堆时间.
说真的,这个工具用JS Beautifier擦拭地板.
归档时间: |
|
查看次数: |
29869 次 |
最近记录: |