我正在逆向分析一个神奇的脚本。我有一个由uglifyjs生成的丑化源代码和源映射。
有没有人知道任何简单明了的方法来从中实现至少部分可读的源代码?我发现了一些晦涩的方法,包括通过多种语言进行转换,但我希望存在更好的方法。
谢谢!
有没有人知道任何简单明了的方法来从中实现至少部分可读的源代码?我发现了一些晦涩的方法,包括通过多种语言进行转换,但我希望存在更好的方法。
谢谢!
maximize
的npm库声称可以做到这一点,但我无法使其工作。我将其改写为unsourcemap,但我不是Node JS开发人员,所以我确定它很糟糕。无论如何,这是source-map
npm包的一个相当琐碎的应用。
一旦您经历了安装node-js和nvm等所有麻烦事,您就可以克隆该存储库并说:
npm install . -g
unsourcemap path/to/packed.js path/to/packed.js.map path/to/output-dir/
我不想维护这个东西,所以如果有人想要改进它,请直接fork它并指向那个版本。:-)
请查看这个简单的NodeJS实现: 它接受包含嵌入式源映射的编译文件并解析它。 很容易修改并仅提供地图文件。
const fs = require('fs');
const { SourceMapConsumer } = require("source-map");
fs.readFile('./example.js', 'utf8' , (err, data) => {
if (err) return console.error(err);
const sourceMapData = data.split('//# sourceMappingURL=data:application/json;base64,')[1];
let buff = new Buffer.from(sourceMapData, 'base64');
let rawSourceMap = buff.toString('ascii');
const parsed = SourceMapConsumer(rawSourceMap);
fs.writeFile('example.ts', parsed.sourcesContent, function (err) {
if (err) return console.log(err);
});
});
有一些工具可以帮助解决这个问题。我以前使用过http://www.cleancss.com/javascript-beautify/和http://jsbeautifier.org/,效果非常好。如果你在Google上快速搜索JavaScript美化器,你会找到很多类似的结果。希望这能帮到你!