Новости:

You are not allowed to view links. Register or Login Генератор прошивок онлайн.


Автор Тема: SCX-3200 v8 разбор  (Прочитано 3500 раз)

Оффлайн Nextor

  • Full Member
  • ***
  • Сообщений: 235
  • Karma: 8
SCX-3200 v8 разбор
« : Март 04, 2013, 08:57:02 am »
Всем привет. Начинаю разбор 8 версии. Нашел сигнатуру $NKF. Прошу знающих людей подсказать как распаковать. Слышал что зашифровано ксором и есть 2 таблицы 64 и 256. Но как их найти и что с ними делать - для меня пока тайна...
Дорогу осилит идущий...

Оффлайн Bahri

  • Hero Member
  • *****
  • Сообщений: 918
  • Karma: 108
Re: SCX-3200 v8 разбор
« Ответ #1 : Март 04, 2013, 10:05:22 am »
You are not allowed to view links. Register or Login
Всем привет. Начинаю разбор 8 версии. Нашел сигнатуру $NKF. Прошу знающих людей подсказать как распаковать. Слышал что зашифровано ксором и есть 2 таблицы 64 и 256. Но как их найти и что с ними делать - для меня пока тайна...
советую изучать одновремено АРМ. так будет проше

Оффлайн yur788

  • Jr. Member
  • **
  • Сообщений: 20
  • Karma: 3
Re: SCX-3200 v8 разбор
« Ответ #2 : Март 14, 2013, 01:13:38 am »
You are not allowed to view links. Register or Login
Всем привет. Начинаю разбор 8 версии. Нашел сигнатуру $NKF. Прошу знающих людей подсказать как распаковать. Слышал что зашифровано ксором и есть 2 таблицы 64 и 256. Но как их найти и что с ними делать - для меня пока тайна...

<?
// Алгоритм распаковки ядра для SCX-3200 V8
   $fn='Здесь имя файла прошивки';
   $nach_cod = 262276;
   $razm_nkf = 1769471;
   $razm_zip = 1180542;

   $abb = file_get_contents($fn); // считываем файл в переменную
   
  $tab64 = substr($abb,257688,64); //таблица для XOR
  $tab256 = substr($abb,257432,256);// таблица для подстановки
   $nkf_cod = substr($abb,$nach_cod,$razm_zip);  //вырезаем ядро
    $t64_xor = str_pad ($tab64, $razm_zip, $tab64); //заливаем переменную таблицей 64
   $xor = $nkf_cod ^ $t64_xor;//делаем XOR для ядра и переменной
      $uncode = "";
    for($i=0;$i<$razm_zip;$i++) //собираем из таблицы подстановки
 {
          $j=ord($xor{$i});
          $c=$tab256{$j};
          $uncode.=$c;
 }
    $head = substr($uncode,0,12); //отрезаем заголовок
   $compress = substr($uncode,12);//все остальное
   $decompress = gzuncompress ($compress);//распаковываем gzip'ом
 ?>