首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >半模糊/丑陋的JavaScript

半模糊/丑陋的JavaScript
EN

Stack Overflow用户
提问于 2014-09-25 08:43:55
回答 2查看 631关注 0票数 1

我知道JS的迷你车,迷雾器和迷你车。我想知道是否有任何现有的工具(或任何快速编码解决方案)部分混淆JavaScript。我的部分意思是,它应该变得很难读,但不像丑陋/缩小。它应该保持缩进,但会丢失注释,并部分地更改变量名,使它们不清晰,而不会像混淆器一样将它们转换为"a,b,c“。

这样做的目的可能是采用一个显式和可重用的代码,并使它隐式和难以被其他人重用,而不使您自己无法使用。

你知道从哪里开始实现这个目标吗?或者编辑一个现有的混淆器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-25 09:34:38

这是对OP要求的直接回应。

语义设计JavaScript混淆器可以做您想做的事情,但是您需要两次传递。

在第一遍中,将它作为模糊处理程序运行;它将重命名标识符(尽管您可以控制该标识符的数量或实现方式),去掉空白和注释。如果限制了它重命名标识符的能力,就会失去混淆器的一些优势,但这是您的选择。

在第二次测试中,将它作为打印程序运行;它将再次引入漂亮的缩进。(事实上,讨好的想法来自于建造一台精巧的打印机;如果你能打印-漂亮,那当然很容易打印-丑陋)。

从处理代码的角度来看,您最好以任何您喜欢的方式处理您的主副本,完成您的缩进和漂亮的注释作为文档。准备好混淆时,运行混淆器,发送模糊结果。混淆结果中报告的涉及混淆名称的错误可以使用混淆步骤期间产生的模糊化<->原始名称映射回原始名称。

这是我公司的产品。我会提供一个链接,但我不喜欢当我这样做,所以你将不得不通过我的个人资料或谷歌找到它。

PS:它就像@georg建议的那样工作,解析到AST、mangling和prettyprinting。它不使用esprima。

票数 1
EN

Stack Overflow用户

发布于 2014-09-25 09:13:13

我不知道有一个工具可以满足您的特定需求,但考虑到重要的部分已经存在,创建它似乎相对容易。

  • 使用埃斯普里马或类似的方法将源解析为AST
  • 以你想要的方式操纵这棵树。删除注释、损坏标识符等)
  • 使用escodegen从树中重新生成源
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26034167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档