【问题标题】:Parcel.js - Can I mangle \ obfuscate import names in the build bundle?Parcel.js - 我可以在构建包中混淆 \ 混淆导入名称吗?
【发布时间】:2020-08-25 18:58:49
【问题描述】:

我正在使用 Parcel 构建一个 chrome 扩展。根据 chrome webstore 政策(托管 Chrome 扩展程序)- Chrome 扩展程序禁止使用混淆。
不幸的是,目前我们无法将关键任务代码移动到服务器上。并且必须将其保存在扩展代码中,非常易于下载和阅读。
虽然,Parcel 缩小了代码 - 仍然可以进行逆向工程,特别是因为 Parcel 不会破坏导入路径。 现在我的捆绑文件看起来与此类似(摘录):

        is_js: "YVwU",
        "../../../../../../../utility-belt/helpers/dom/is-el-visible": "NBkX",
        "./preformat-label-text": "uVmy",
        "./find-label-element/find-label-element": "PpOy",
        "../../../../../../../utility-belt/helpers/array/has-contents": "gtdY",
        "../../../../../../../utility-belt/helpers/dom/get-text-content-from-el": "SRGb",
        "./input-is-empty": "xrMH",
        "../../edge-cases/raw-inputs-found": "b9fD",
        "../../edge-cases/associated-labels": "KiPW",
        "../../../../../../../utility-belt/helpers/dom/compare-DOM-positions": "lAHL",
        "../../../../../../data/dictionary/BANKS": "CVde",
        "../../../../../../../utility-belt/helpers/dom/DOM-shortcuts": "lN5N",

如您所见 - 从文件名和路径中,通过一些努力可以推断出每个模块的功能,以及它的哈希名称。从哈希名称中找到并读取其内容。
如果这些导入被混淆或编码,那将真的很有帮助。 有没有办法做到这一点?

【问题讨论】:

    标签: javascript parceljs


    【解决方案1】:

    如果你真的需要这样做并且有一些时间,你可以使用(具有讽刺意味的)逆向工程工具的帮助 - https://github.com/Xmader/retidy

    你可以做的是:

    使用它来获取应用程序中所有模块的列表,然后使用此模块路径映射,您可以简单地遍历您的包并用一些随机字符串搜索替换每个路径。捆绑包应该仍然可以正常工作。

    这只会隐藏你的路径,但对于试图对你的代码进行逆向工程的人来说,它仍然会变得更加困难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      相关资源
      最近更新 更多