旋转验证码每次验证后Storage中的 b1会变。
直接hook下Storage的 setItem方法。
var originalSetItem = Storage.prototype.setItem;
Storage.prototype.setItem = function(key, value) {
console.log(`Setting item: ${key} with value: ${value}`);
originalSetItem.call(this, key, value);
};
看到了b1被修改。
跟着看看
到这里不用跟了,和签名一样的逻辑,找入口就行。
测试发现是每当调用window.xhsFingerprintV3 后会对Storage 进行set操作。
通过window.xhsFingerprintV3.getCurMiniUa可以取到b1。
console.log(window.xhsFingerprintV3.getCurMiniUa(
function () {
console.log("b1:",arguments['0'])
}
))
把JS拿下来运行,发现b1短一截。
打印下看看
本地参数差的有点多。
一个一个补下,不全的b1也能用于验证。