这个问题是完全相反哪家的Javascript minifier(排排坐)做了一个谷歌使用其JS API的同样的事情?
我想了解谷歌如何做它的加载,所以我可以建立自己的非流行的JS工具包。
这个问题是完全相反哪家的Javascript minifier(排排坐)做了一个谷歌使用其JS API的同样的事情?
我想了解谷歌如何做它的加载,所以我可以建立自己的非流行的JS工具包。
试试这个: JS美化
>原变量名可用 - 唔,除非有精缩的映射是不可能恢复的变量名。 否则,我认为工具的作者可能赢得心灵功勋奖兰迪。
尝试http://www.jsnice.org/
我只是偶然它,它是伟大的。 它扩展的代码。 它有统计变量命名。 例如,如果你有这样的代码:
var g = f.originalEvent.targetTouches[0];
然后它变成你的代码:
var touches = event.originalEvent.targetTouches[0];
很不错的猜测,记错。
原来这样的:
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"))))
这个:
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")));
}
我工作的库有一对夫妇的bug,并花费数小时试图破译代码,发现在这之后是要救我很多时间。
严重的是,这个工具用湿巾JS美化地板。
Chrome开发者工具,这已经在建
您将无法重建方法名或变量名。 你可以期望的最好的是一个简单的JS代码格式化器(如前面提到的),然后通过线由法,线经过文件的方法,制定出每个部分做什么。
也许使用一个很好的JS重构工具将简化这一过程,以及(能够重命名/文件的方法)
您可以使用\b
(词边界)功能在正则表达式在文件中找到单字母的变量名。
for i in "abcdefghij..z"; do
sed -i "s/\b$i\b/$(random /usr/share/dict/words)/g" somefile.js
done
您还可以在VIM的东西,如使用此:%s/\<a\>/truesaiyanpower/g
为了unminify js文件, Unminify将是最好的!
请参阅我们的SD ECMAScript中格式化的工具,将很好地格式化代码。
编辑:如果你要扭转重命名过程中,你需要的东西可以重命名混淆的名称回原稿。
该工具可以在技术上做到这一点: SD灌木丛ECMAScript的混淆 。
它运用了,你必须精确控制重命名映射这样做。 通常你含蓄地选择混淆哪些名称和保存,并混淆应用于的地图产生混淆代码构建过程中混淆处理这样的地图。
当你在形式进行模糊处理的一组对(ORIGINALNAME,obfuscatedname),用于参考和调试目的的基本上丛中混淆器生成此图作为副作用。
交换元件给出了地图(obfuscatedname,ORIGINALNAME)。 这倒地图可以通过灌木丛被应用到恢复与原来的名称代码,从混淆代码。 和灌木丛混淆包括格式化,让你把它再好看。
美中不足到“倒车缩小”(因为你把它不好,你正在试图扭转混淆),就是你所需要的地图。 因为人在做模糊处理不放弃的地图,你,作为混淆代码接受者,没有什么可以适用。 将要成为海盗必须通过痛苦反向工程可能重建映射。
该“逆转”的过程中也不能恢复评论。 他们已经一去不复返了。
这是所有的设计,所以真正的问题是,为什么你要买反向混淆?
JavaScript的minifier和JavaScript混淆器是两回事。
Minifier - 删除注释,不必要的空格和换行从程序。
混淆 - 使修改程序,改变的变量,函数和成员的名字,使得程序更难理解。 一些混淆器在他们修改代码相当积极。
这的JavaScript混淆器会混淆你的代码。
如果你想反混淆你的代码,尝试使用Javascript美化 。 如果混淆发现它会反混淆,然后美化代码。