Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2013, 09:58   #1
NightEagle
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 31
По умолчанию найти ключ в JavaScript

Задание (видел на сайте мифи). Найдите ключ в JavaScript.
Код:
function decrypt(s)
{
  if (document.location.href.indexOf("olymp.mephi.ru") == -1)
  {
    return "alert('DRM');";
  }
  var r = "";
  var key = arguments.callee.toString();
  var l = key.length;
  s = unescape(s);
  for(i=0;i<s.length;i++)
    r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
  return r;
}
eval(decrypt('IZ7%0C%01%1BO%05E%1DE%0A%01Y%3A%15%5E%12znxJ%7D%7E%7F%11%1A9P%18%13%5C%11%13%18%09%22y%24%0D%03%06%13%00AM-O%06R%1C%09%5BI%1B%0A%15%19%2C%0D%08O%0AS%5BDK%23g'));
не могу понять как это сделать, пробовал просто исполнить код, но толком ничего не вышло. Помогите разобраться что с этим делать, пожалуйста.
NightEagle вне форума Ответить с цитированием
Старый 16.05.2013, 10:39   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Откройте src.html и кликните на Go.
Вложения
Тип файла: zip src.zip (683 байт, 17 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.05.2013, 10:45   #3
_SanR
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 48
По умолчанию

Привет.
Попробуй в консоли эксплорера запустить это:
Код:
function decrypt(s)
{
  if (document.location.href.indexOf("olymp.mephi.ru") != -1)
  {
    return "alert('DRM');";
  }
  var r = "";
  var key = arguments.callee.toString();
  var l = key.length;
  s = unescape(s);
  for(i=0;i<s.length;i++)
    r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
  return r;
}
decrypt('IZ7%0C%01%1BO%05E%1DE%0A%01Y%3A%15%5E%12znxJ%7D%7E%7F%11%1A9P%18%13%5C%11%13%18%09%22y%24%0D%03%06%13%00AM-O%06R%1C%09%5BI%1B%0A%15%19%2C%0D%08O%0AS%5BDK%23g');
На других браузерах в консоль выведет часть расшифрованного текста, в ИЕ все ок.

Обрати внимание в коде на условие которое не дает пройти к расшифрованию
Код:
if (document.location.href.indexOf("olymp.mephi.ru") == -1)
Но так как для расшифровки текста используются символы текста функции, просто нужно подменить == на != с такими минимальными изменениями эксплорер расшифровывает, а еще eval убрал.
_SanR вне форума Ответить с цитированием
Старый 16.05.2013, 19:50   #4
NightEagle
Пользователь
 
Регистрация: 13.03.2011
Сообщений: 31
По умолчанию

BDA, _SanR спасибо за помощь!
убирал eval, выводило только часть расшифрованного текста, даже не думал что ie что-то другое выдаст..
NightEagle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу на HTML и JavaScript для следующего задания: Найти максимальную цифру в записи данного трехзначного ч Marika lady Помощь студентам 1 29.09.2011 06:48
Javascript - классы, они есть или их нету в Javascript? Kasper1 JavaScript, Ajax 3 05.03.2011 09:42
Можно ли найти ключ от установленной операционной системы? СисТемникс Операционные системы общие вопросы 5 15.08.2010 18:13