我知道JS的迷你车,迷雾器和迷你车。我想知道是否有任何现有的工具(或任何快速编码解决方案)部分混淆JavaScript。我的部分意思是,它应该变得很难读,但不像丑陋/缩小。它应该保持缩进,但会丢失注释,并部分地更改变量名,使它们不清晰,而不会像混淆器一样将它们转换为"a,b,c“。
这样做的目的可能是采用一个显式和可重用的代码,并使它隐式和难以被其他人重用,而不使您自己无法使用。
你知道从哪里开始实现这个目标吗?或者编辑一个现有的混淆器?
发布于 2014-09-25 09:34:38
这是对OP要求的直接回应。
语义设计JavaScript混淆器可以做您想做的事情,但是您需要两次传递。
在第一遍中,将它作为模糊处理程序运行;它将重命名标识符(尽管您可以控制该标识符的数量或实现方式),去掉空白和注释。如果限制了它重命名标识符的能力,就会失去混淆器的一些优势,但这是您的选择。
在第二次测试中,将它作为打印程序运行;它将再次引入漂亮的缩进。(事实上,讨好的想法来自于建造一台精巧的打印机;如果你能打印-漂亮,那当然很容易打印-丑陋)。
从处理代码的角度来看,您最好以任何您喜欢的方式处理您的主副本,完成您的缩进和漂亮的注释作为文档。准备好混淆时,运行混淆器,发送模糊结果。混淆结果中报告的涉及混淆名称的错误可以使用混淆步骤期间产生的模糊化<->原始名称映射回原始名称。
这是我公司的产品。我会提供一个链接,但我不喜欢当我这样做,所以你将不得不通过我的个人资料或谷歌找到它。
PS:它就像@georg建议的那样工作,解析到AST、mangling和prettyprinting。它不使用esprima。
https://stackoverflow.com/questions/26034167
复制相似问题