异步跟栈 webpack
网站:
https://www.jizhy.com/44/search?searchVal=%E5%9B%9B%E5%B7%9D
目标:逆向sign
使用XHR断点跟栈 searchcenter/search
(1)
(2) 从 h.request 开始跟,因为有拦截器
(3) 不停步入,直到发现加密入口
不停跟............直到这里初露端倪
最后发现加密入口
然后开始破解参数
var t = {search_key: "北京",search_type: 3,
};
var params = Qt(t);
function Qt() {var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, e = {app_id: F,ts: +new Date,platform: "desktop",v: 210};Object.assign(t, e);var n = Wt(t);return n += "&key=" + U,t.sign = Xt(n),Object.assign(t, e)}
发现所在文件是一个webpack,猜测是webpack 扣代码就可以
目标:尝试找加载器函数
找到加载器函数:
function f(t) {if (n[t])return n[t].exports;var r = n[t] = {i: t,l: !1,exports: {}};return e[t].call(r.exports, r, r.exports, f),r.l = !0,r.exports}
将加载器所在的自执行函数扣下来,后续补充模块参数
在加载器函数里面加上打印,便于知道使用了哪些模块
// 将加载器函数的作用域设置为全局变量,方便调用
window.load_f = f;
尝试找到入口,关键在Qt
发现Qt 函数在23 模块,尝试将23模块扣下来
保存成功,可以尝试继续调用
报错:猜想应该继续补
在改报错之前,把23模块所在在webpack其他模块也扣下来,后续可能需要用,也可能会解决了报错
发现还是报错,所以需要继续补。。。。。。。
通过查找分析,发现前面好像有定义过,是不是作用域问题呢?
结果发现他奶奶的还是不行,好像是第三个参数。。。。。