是否有工具可以比较 javascript 文件的差异,同时忽略本地标识符的更改?

逆向工程 javascript
2021-06-23 13:11:56

当尝试比较两个带有随机标识符名称的缩小的 javascript 文件之间的差异时,大约 95% 的更改是标识符被重命名。我想使用一个忽略这些重命名的工具,只显示实际的代码添加和删除。

这样的工具对于轻松查看应用程序在更新中发生了什么变化非常有用。

1个回答

您正在寻找的方法是将两个文件解析为抽象语法树,然后比较两个树的相似性。

一个简单的解决方案是编写一个词法分析器/标记器/转换器,用“NAMEGOESHERE”替换名称,然后使用差异。

如果您发布这两个文件,我可以尝试一下。