Un ejemplo de fichero
https://itp-atp-sls.infosys-platforms.com/static/prod/insights/2022/328/MS016/data.json?lang=es
Viendo el código en js podemos ver que usan el lastmodified para crear el IV y también podemos ver la clave de cifrado usada.
REACT_APP_ENCRYPTION_KEY: "ITP2021ATP!"
Código:
var Ou = function(t) {
var e = function(t) {
var e = (new Date).getTimezoneOffset()
, n = new Date(t.getTime() + 60 * e * 1e3).getDate()
, r = parseInt((n < 10 ? "0" + n : n).toString().split("").reverse().join(""))
, i = t.getFullYear()
, a = parseInt(i.toString().split("").reverse().join(""))
, o = parseInt(t.getTime().toString(), 16).toString(36) + ((i + a) * (n + r)).toString(24)
, s = o.length;
if (s < 14)
for (var c = 0; c < 14 - s; c++)
o += "0";
else
s > 14 && (o = o.substr(0, 14));
return "#" + o + "$"
}(new Date(t.lastModified))
, n = Jo.a.enc.Utf8.parse(e)
, r = Jo.a.enc.Utf8.parse(e.toUpperCase())
, i = Jo.a.AES.decrypt(t.response, n, {
iv: r,
mode: Jo.a.mode.CBC,
padding: Jo.a.pad.Pkcs7
});
return JSON.parse(i.toString(Jo.a.enc.Utf8))
};
aquí tenemos el js empaquetado:
https://itp-atp-sls.infosys-platforms.com/itp/prod/atp/match-centre/main.js
El tema es que a pesar de todo esto, he probado con aes, con el iv generado que se que es correcto a base de trazar js, con la contraseña especificada, pero no me funciona el descifrar con AES. Alguna idea? Debe generar un json.