Общение > Прошивки

Вопрос по анализу прошивок.

<< < (3/29) > >>

Aleksey Mo-skin:
Для начала берешь дамп прошивки, загружаешь в Ida, процессор ARM Big-Endian, Options -> General -> Analysis -> Kernel Options 1 -> Make final analisys pass -> OK -> Reanalyze Programm. То, что серое - запакованное и зашифрованное ядро прошивки, остальное - загрузчик. Ядро, начинается с сигнатуры $NKF (в не зашифрованных прошивках - $ZIP), адрес загрузки ядра указан в заголовке $NKF, (0x40017000 для 1860, например). Дальше куришь мануал по ассемблеру ARM, смотришь как расшифровывается ядро (должна получиться сигнатура $ZIP), потом распаковываешь гзипом.
Вот пример расшифровки и распаковки ядра ML1860, написано на PHP, т.к. там gzip без лишних проблем работает:
Код: You are not allowed to view links. Register or Login<?
$nach_cod = 86132;  // начало ядра
$razm_zip = 373338; // размер упакованного ядра (может быть другим)

//считываем файл в переменную
$abb = file_get_contents('FIX_ML-1860.hd');
// первая таблица 64 байта
 $tab64 = substr($abb,81196,64);
// вторая таблица 256 байт
  $tab256 = substr($abb,80940,256);
// вырезаем NKF
    $nkf_cod = substr($abb,$nach_cod,$razm_zip);
// Заполняем таблицей 64 строку размером упакованного ядра
    $t64_xor = str_pad ($tab64, $razm_zip, $tab64);
// Расшифровываем с помощью XOR
$xor = $nkf_cod ^ $t64_xor;
   $uncode = "";
   
//Расшифровываем с помощью таблицы подстановки 256
for($i=0;$i<$razm_zip;$i++)
 {
          $j=ord($xor{$i});
          $c=$tab256{$j};
          $uncode.=$c;
 }
 // заголовок 12 байт
    $head = substr($uncode,0,12);
 // сжатый гзипом блок
$compress = substr($uncode,12);
 // распаковываем ядро с пом gzip
$decompress = gzuncompress($compress);
 
 // сохраняем распакованное ядро в файл
 file_put_contents('Kernel_ML-1860',$decompress);

 ?>

--- Конец кода ---
Данный алгоритм подсмотрен в одном из генераторов, написанном на PHP Devel Studio.

sergeydm:
во уже интересней немного начинает становится на места,сейчас буду курить данную инфу
вот еще нарыл на просторах,но там я всмотрю все по-сложней или может кто нибудь присоединится в исследовании
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
scx 3400 You are not allowed to view links. Register or Login
кстатии вышел на препода из универа по програмированию и кинул статью про scx3400,он мне долго не овечал,а когда ответил-я так понял он сам не разобрался, но был шокирован знанием сервис инженеров

stslit:
You are not allowed to view links. Register or Loginво уже интересней немного начинает становится на места,сейчас буду курить данную инфу
вот еще нарыл на просторах,но там я всмотрю все по-сложней или может кто нибудь присоединится в исследовании
...

--- Конец цитаты ---

Присоединяюсь курю.

Aleksey Mo-skin:
Очень доступно разжевано You are not allowed to view links. Register or Login
Эмулирующий отладчик для ARM можно взять тут: You are not allowed to view links. Register or Login называется Trace32

sergeydm:
блин,что-то я смотрю на эту тему You are not allowed to view links. Register or Login,а мы случаем не опоздали на год с разбором полетов,так прочь пессимизм,только оптемизм

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии