猿人学js逆向比赛第一届第十五题
一、分析请求
通过堆栈可以定位到m的生成位置,这里同时可以看到windwo.q
这个函数,顺带也能看到q
函数实际上是wasm
导出的函数。
二、请求
这里将这个wasm
源文件拿到本地,并导出encode函数,然后再将m函数拿下来。
const fs = require('fs');
const wasmBuffer = fs.readFileSync('a98eae4a.wasm');
const m = new WebAssembly.Module(wasmBuffer);
const instance = new WebAssembly.Instance(m);
q = instance.exports.encode;
function get_m(){let t1 = parseInt(Date.parse(new Date())/1000/2);let t2 = parseInt(Date.parse(new Date())/1000/2 - Math.floor(Math.random() * (50) + 1));return q(t1, t2).toString() + '|' + t1 + '|' + t2;
};
console.log(get_m())
然后直接调用这个get_m函数去请求