hook方式
说明:来回翻页发现只有请求体的token需要逆向,而这个请求体是在params里,拼接到url里,可以直接用油猴hook url里的关键字token=。
正常步骤
hook代码
// ==UserScript==
// @name hookparams
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://match2023.yuanrenxue.cn/topic/2
// @icon https://www.google.com/s2/favicons?sz=64&domain=yuanrenxue.cn
// @grant none
// @run-at document-start
// ==/UserScript==
(function () {
var open = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function (method, url, async) {
if (url.indexOf("token") != -1) {
debugger;
}
return open.apply(this, arguments);
};
})();
发现很轻松的断到来token生成的地方,通过调用堆栈可以回溯到加密的地方
很明显 _0x1419b1 = 0x380df6[‘qiUgL’]($o, _0x8c4029); 是 加密函数,扣代码就行了
检查发现顶部有个自执行函数,而且把_0x4844作为参数传进去的,那么一起扣下来。
内存爆破
运行报错如图:
这是内存爆破引起的,碰到这样的问题,极大可能是格式监测引起的
我们可以借助压缩代码网站,把格式化后的代码还原回去。
js代码压缩网站 :https://www.jyshare.com/front-end/51/
(可以先一个个单独运行js函数,单独压缩那个函数也行)