ВСЁ! я его победил
теперь и на перле
всем спасибо
Elbran отдельное спасибо :)
чё-то всё-равно не выходит каменный цветок..
ну а ключ то финальный так выглядит?
Mozilla/5.0 (X11; Ubuntu;511bc37578f5ccbe.xifl3zYZV6cis86A5fuN2-qB7O8y-5hV_shcn8-jZ-3WW5b2LX84NsAqJjS1Fp3O8nfMV_uZUBs0VBIjixfx__ZuCYB5y6QIRM4o8FiLDgGKCHNS8V8U_O7Jsb8reOkyecd19a54e92025f401165281021767330482
и это я на перле делаю, а если пытаться использовать тот пхп-скрипт, то на этом месте
$l = $obj->data;
он кричит:
кормлю его данными через файл так:
$filename = 'JSON.src';$handle = fopen($filename,'r');$answer = fread($handle, filesize($filename));fclose($handle);
в JSON.src всё между {}, включая их самих
и data там есть:
если у пхп всё в массивах, то пофиг ему на байты, он именно символ вернёт
я знал, я знал ☝
долбаный пых 😡
буду пробовать сегодня
очевидно, но декодирование то не работает :(
я надеялся, что fuid01 это переменная, а $cookie её опять считает, навроде ключа
как я делаю:
высчитываю кей (правильность проверял несколько раз в самом JS - совпадает с результатом моего кода)
далее, беру кусок (сабстринг) 25 символов от user-agent, приклеиваю куку, приклеиваю посчитанный кей = финальный ключ
потом беру сами данные, которые начинаются с hX8L^^\u0002@[ZUN\ (без всяких кавычек и скобок, они в таком виде в переменной лежат) и заканчиваются просто очередным набором символов
пробегаю по этим данным побайтово, применяя ту самую строку и склеиваю всё это в одну строку
потом на эту строку делаю uri_unescape
кстати, там к этому моменту строка уже должна быть читаемой, не? только с %20 вместо отдельных символов и кириллицы
в результате получаю набор символов с большим кол-вом пробелов :\
кстати, тот код на php тоже самое выдаёт
ох уж этот пых
а что таки должно выдать $cookie(fuid01)?
$obj = json_decode($answer);$l = $obj->data;$h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';$str = "";for ($g = 0; $g < strlen($l); $g++){ $str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));}
тут непонятно, как у тебя $h стал массивом, когда это просто строка?
если не путаю, в пыхе [] используются в массивах и это:
$h[$g % strlen($h)]
таки массив
и ещё, json_decode происходит ДО декодирования непосредственно тела, где этот JSON содержится. зачем?
переведите на ПХП или перл плиз:
for (var i = 0; i < data['data'].length; i++) {
edata = edata + String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length))
}
и раньше блочил
я знаю, что fuid01 это кука, я вордстат паршу уже не 1 год
меня интересовал результат с $cookie
ты утверждаешь, что это пустышка?
хмм, они опять его изменили (по-сравнению с 13м числом)
добавили в массив _0xa032 новых значений (было 46, теперь 72)
закодировали слова с помощью новых _0x840cx7, _0x840cx2 и т.д.
в этой строке:
раньше не было || ""
кстати, а $cookie(fuid01) чему равно?
ну и конечно же бонусы 🍿
_0x840cx1 url
_0x840cx2 params
_0x840cx3 show_error
_0x840cx4 error_popup
_0x840cx5 data
_0x840cx6 captcha_popup
_0x840cx7 key
_0x840cx8 edata
_0x840cx9 i
_0x840cxa bem_json
массив _0xa032:
0 WSLR, 1 words, 2 val, 3 b-form-input, 4 bem, 5 .b-search__input, 6 with-regions, 7 hasClass, 8 input:radio:checked, 9 find, 10 type, 11 elem, 12 b-search, 13 .b-search, 14 regions, 15 ids, 16 b-region-select, 17 .b-search__region-select, 18 slow, 19 show, 20 b-popupa, 21 .b-page__load-popup, 22 .b-page__error-popup, 23 click, 24 un, 25 hide, 26 on, 27 b-form-button, 28 findBlockInside, 29 done, 30 error, 31 captcha, 32 .b-page__captcha-popup, 33 src, 34 image, 35 url, 36 , 37 submit, 38 off, 39 form, 40 key, 41 extend, 42 focused, 43 yes, 44 setMod, 45 blocked, 46 href, 47 location, 48 http://block.yandex.ru, 49 data, 50 substr, 51 userAgent, 52 fuid01, 53 cookie, 54 length, 55 charCodeAt, 56 fromCharCode, 57 ^%7B.*%7D$, 58 match, 59 parseJSON, 60 load, 61 trigger, 62 wslr, 63 channel, 64 .b-wordstat-content__content, 65 apply, 66 update, 67 DOM, 68 success, 69 POST, 70 /stat/, 71 json, 72 ajax
if (data in data) {
var key = navigator[userAgent][substr](0, 25) + ($[cookie](fuid01) || "") + eval(data[key]);
var edata = "";
for (var i = 0; i < data[data][length]; i++) {
edata = edata + String[fromCharCode](data[data][charCodeAt](i) ^ key[charCodeAt](i % key[length]))
var bem_json = {
content: ""
};
if (edata[match]("^%7B.*%7D$")) {
try {
edata = decodeURIComponent(edata);
bem_json = $[parseJSON](edata)
} catch (e) {}