Показать сообщение отдельно
  #4  
Старый 01.07.2017, 22:27
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

1) Заходим на страницу яндекс вордстата.
2) Открываем консоль (ctrl+shift+i в хроме).
3) Что-нибудь вводим в строке яндекса, чтоб инициировать запрос.
4) На вкладке консоли "Network" видим ответ примерно того вида, что в первом посте. Там JSON с полями data и key.
5) Находим в коде страницы люто обфусцированный Javascript. Впору бы загрустить (копать 20к строк обфусцированного кода на JS - то еще удовольствие), однако замечаем, что в этом коде только один раз встречается операция XOR (которая есть почти в любом шифровании).
6) Понимаем, что этот XOR - и есть расшифровка. Ручками деобфусцируем код и получаем что-то вроде этого:
PHP код:
var rkey navigator.userAgent.substr(025) + ($["cookie"]("fuid01") || "") + eval(response.key);
var 
result "";
for (var 
0response.data.lengthi++)
    
result result String.fromCharCode(response.data.charCodeAt(i) ^ rkey.charCodeAt(rkey.length))
result decodeURIComponent(result); 
7) Видно, что в расшифровке используется user-agent, cookie с названием fuid01 (если есть, иначе пустая строка) и eval от поля "key" в ответе сервера. А дальше банальный XOR с ключом.
8) Пишем в консоли var response = <ответ сервера>
9) Вставляем в консоль этот код расшифровки, нам печатается результат:
PHP код:
"{"content":{"currentPage":"1","lastUpdate":"Последнее обновление01.07.2017","regions":"","hasNextPage":"yes","includingPhrases":{"info":["  ... <И ТАК ДАЛЕЕ
10) ???
11) PROFIT
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием