工具介绍
:card_file_box: JavaScript 的解压工具。它会获取 Browserify 或 Webpack 的打包文件,并重新创建最初的预先打包的源代码。
解除捆绑
这是一个用于解压 webpack 和 browserify 打包的 JavaScript 文件的工具。
:dragon: 这里有龙! :dragon:
这是一个不再维护的研究项目。我创建它是为了帮助我理解 JavaScript 束包的结构。在实验室环境中,它大部分时间都能正常运行,但对真实世界的 JavaScript 束包常会出现问题。自从我参与这个项目以来已经有一段时间了,如果您遇到问题,我可能无法为您提供太多帮助。
为什么要解除代码捆绑呢?原因各不相同,但这个工具最初是为帮助我完成一个逆向工程项目而开发的。不用说,翻看压缩后的捆绑文件,试图弄清楚服务如何工作并不是很有趣,而且当捆绑文件被分解为文件,这些文件具有语义名称时,就更容易了。
解除捆绑是否无损? 也就是说,如果我先进行捆绑,然后再解捆绑,是否会得到与原始捆绑相同的源代码? 不,捆绑时会丢失一系列元数据:
- 每个
node_module 和根包的任何自定义 package.json 设置。
- 在 webpack 捆绑中,模块的名称不在捆绑中。默认情况下,解捆绑过程会生成以模块 ID 为名的文件(例如
1.js),除非 手动重写。
- 如果您的代码经过压缩,则解捆绑过程生成的输出文件也会经过压缩(例如,不包含空格、单字母变量等)。您可以通过其他工具对源代码进行处理,使其看起来更美观。
我解除捆绑的代码无法运行!