例如{
"redeemCode": "3333",
"marketingId": "1819296221496479746",
"t": 1722647803351,
"appId": "fae0d199f50c8c88a742809706dbbbe6",
"sign": "GKGzl3OhLICDvCOLeD2acujiHxgABD6E0bqEWJp61ALbKav9KswZzm9A0D3T38pPCrRp-Rn1dVcLR_asraYM1Ywc-QgDWjJ66HXhoc84C2qoE-jgP9Of85Qdwvgxg8lf7huWCcJyZDeS9HRQFdHaqpSokAyZRueu2AeylcdiIFDs-MI0ZwBV9AmMbF5fUIGOUEpDrfyGj4u_43KOcGS26RxIoDk17ak6QfPiLfoo92eQXPiQK18zr0S0ITu3vScdww8J8nXtJEP3S8eG_kPekH-mCmTZReRD2L-YcNSncfWwOfkcZwyJAPf1-VuBIIshPe3j90KMMsKbTAKas0Jkrw=="
}
这个sign看出来是base+aes加密但是无法还原需要哪些参数,逆向了签名算法只有
[JavaScript] 纯文本查看 复制代码 function D() {
return (l = a(r.default.mark((function e(a) {
var u, p, o, l, f, b, d;
return r.default.wrap((function(e) {
for (;;) switch (e.prev = e.next) {
case 0:
for (u = "", p = n(n({}, a), {}, {
t: Date.now() - (getApp().configData.timeOffset || 0),
appId: s
}), o = Object.keys(p).sort(), l = 0; l < o.length; l++) f = o[l], p[f] || 0 === p[f] ? (b = "object" === t(p[f]) ? JSON.stringify(p[f]) : p[f], u += "".concat(l ? "&" : "").concat(f, "=").concat(b)) : "" !== p[f] && delete p[f];
return e.next = 6, (0, i.default)(u, c);
case 6:
return d = e.sent, e.abrupt("return", n(n({}, p), {}, {
sign: d.replace(/\//g, "_").replace(/\+/g, "-")
}));
case 8:
case "end":
return e.stop()
}
}), e)
})))).apply(this, arguments)
}
base64还原算法后发现没有看到有aes加密的地方,签名也无法被base64还原
|