【SWPUCTF】astJS
收获
JS 逆向,了解 js 语言的抽象语法树(AST)
使用 escodegen 将 JavaScript AST 转换为代码
在浏览器的控制台中可以直接运行 js 代码
思路
题目文件为一个 json 文件:
该文件其实是 js 语言的 AST(抽象语法树),表现形式为 json 文件的格式
使用 npm
命令安装 escodegen
模块
npm i escodegen -g
利用 escodegen
将 js 语句的 AST 语法树 —— json 文件转化成 js 语句:
esgenerate 附件.json
得到转换后的 js 代码如下:
(function () {
function bE(str, key) {
var arr = str.split('');
return arr.map(i => {
return String.fromCharCode(i.charCodeAt() ^ key);
}).join('');
}
console.log(bE('EXXH_Mpjx\x7FBxYnjggrM~eerv', 11));
}());
将该 js 代码在浏览器的控制台中运行,即可得到 flag:
结果
NSSCTF{astIsReallyFunny}
评论