Новости:

You are not allowed to view links. Register or Login
Новый генератор прошивок. ML-2160 v05 v08, SCX-3400/3405 v12 - бесплатно.


Автор Тема: Вопрос по анализу прошивок.  (Прочитано 74597 раз)

Оффлайн stslit

  • Jr. Member
  • **
  • Сообщений: 10
  • Karma: 1
Вопрос по анализу прошивок.
« : Октябрь 08, 2012, 08:50:10 am »
Доброго дня.

Иногда приходится прошивать аппараты samsung. Даже пришлось воспользоватся дебаг-кабелем, но как оказалось проблема была проще, даже слишком  ;D.
Было замечено, что содержимое прошивок не сильно отличается друг от друга. Но попытки анализа прошивок HEX редакторами не дали результата.
В некоторых прошивках можно прочитать серийный номер, например SCX-3400, а в SCX-3200 уже этого не найти, так же как не найти номера Crum  в обоих случаях.
При этом, если шить аппарат прошивкой с другим crum - аппарат уходит в "даун".
Кто нибудь пробовал вскрывать/анализировать прошивки другими инструментами?
« Последнее редактирование: Октябрь 19, 2012, 07:45:43 pm от Alexey Mo-skin »

Оффлайн usekisa

  • Newbie
  • *
  • Сообщений: 2
  • Karma: 0
Re: Вопрос по анализу прошивок.
« Ответ #1 : Октябрь 08, 2012, 01:47:15 pm »
на SCX-3200/5/7 существует генератор фикс-прошивок.

Оффлайн Aleksey Mo-skin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2258
  • Karma: 65531
  • Мастер кройки и шитья
    • Прошивка samsung скачать бесплатно
Re: Вопрос по анализу прошивок.
« Ответ #2 : Октябрь 08, 2012, 01:56:12 pm »
В новых прошивках (2160, 3405 и т.д.) от коротрона номер крум зашифрован и лежит не в запакованном/зашифрованном ядре, как это было у 3200, а в загрузчике.
Генератор прошивок You are not allowed to view links. Register or Login

Оффлайн dreik84

  • Newbie
  • *
  • Сообщений: 9
  • Karma: 0
Re: Вопрос по анализу прошивок.
« Ответ #3 : Октябрь 08, 2012, 10:33:33 pm »
в загрузчике :o в смысле usbprns2.exe?

Оффлайн Aleksey Mo-skin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2258
  • Karma: 65531
  • Мастер кройки и шитья
    • Прошивка samsung скачать бесплатно
Re: Вопрос по анализу прошивок.
« Ответ #4 : Октябрь 08, 2012, 11:01:46 pm »
Нет, в самой прошивке есть загрузчик, при включении принтера он запускается, распаковывает ядро в память и запускает его выполнение.
Генератор прошивок You are not allowed to view links. Register or Login

Оффлайн stslit

  • Jr. Member
  • **
  • Сообщений: 10
  • Karma: 1
Re: Вопрос по анализу прошивок.
« Ответ #5 : Октябрь 09, 2012, 04:15:44 pm »
You are not allowed to view links. Register or Login
на SCX-3200/5/7 существует генератор фикс-прошивок.

У Вас есть этот генератор?

Оффлайн stslit

  • Jr. Member
  • **
  • Сообщений: 10
  • Karma: 1
Re: Вопрос по анализу прошивок.
« Ответ #6 : Октябрь 09, 2012, 04:16:45 pm »
You are not allowed to view links. Register or Login
Нет, в самой прошивке есть загрузчик, при включении принтера он запускается, распаковывает ядро в память и запускает его выполнение.

Загрузчик кодированы? Может его можно переписать?
Где можно подробнее ознакомится с данным вопросом.

Оффлайн Ilivanych

  • Newbie
  • *
  • Сообщений: 4
  • Karma: 1
Re: Вопрос по анализу прошивок.
« Ответ #7 : Октябрь 10, 2012, 02:43:05 pm »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
на SCX-3200/5/7 существует генератор фикс-прошивок.


У Вас есть этот генератор?


You are not allowed to view links. Register or Login

Оффлайн stslit

  • Jr. Member
  • **
  • Сообщений: 10
  • Karma: 1
Re: Вопрос по анализу прошивок.
« Ответ #8 : Октябрь 18, 2012, 01:03:17 pm »
О! Спасибо. ;D ;D ;D

Оффлайн sergeydm

  • Hero Member
  • *****
  • Сообщений: 602
  • Karma: 82
  • От великого до смешного один шаг...
Re: Вопрос по анализу прошивок.
« Ответ #9 : Октябрь 19, 2012, 01:49:37 pm »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Нет, в самой прошивке есть загрузчик, при включении принтера он запускается, распаковывает ядро в память и запускает его выполнение.

Загрузчик кодированы? Может его можно переписать?
Где можно подробнее ознакомится с данным вопросом.
да,данный вопрос тоже сильно инресует,т.к.данный вопрос летает в мозгу с начала лета уже весь инет перелопатил у кичи програмистов спрашивал-вообщем чуть весь город на уши не поставил :o
Если вовремя не взяться за ум, то вскоре придется хвататься за голову.

Оффлайн Aleksey Mo-skin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2258
  • Karma: 65531
  • Мастер кройки и шитья
    • Прошивка samsung скачать бесплатно
Re: Вопрос по анализу прошивок.
« Ответ #10 : Октябрь 19, 2012, 03:09:30 pm »
Для начала берешь дамп прошивки, загружаешь в 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.
Генератор прошивок You are not allowed to view links. Register or Login

Оффлайн sergeydm

  • Hero Member
  • *****
  • Сообщений: 602
  • Karma: 82
  • От великого до смешного один шаг...
Re: Вопрос по анализу прошивок.
« Ответ #11 : Октябрь 19, 2012, 04:03:15 pm »
во уже интересней немного начинает становится на места,сейчас буду курить данную инфу
вот еще нарыл на просторах,но там я всмотрю все по-сложней или может кто нибудь присоединится в исследовании
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

  • Jr. Member
  • **
  • Сообщений: 10
  • Karma: 1
Re: Вопрос по анализу прошивок.
« Ответ #12 : Октябрь 19, 2012, 04:49:28 pm »
You are not allowed to view links. Register or Login
во уже интересней немного начинает становится на места,сейчас буду курить данную инфу
вот еще нарыл на просторах,но там я всмотрю все по-сложней или может кто нибудь присоединится в исследовании
...

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

Оффлайн Aleksey Mo-skin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2258
  • Karma: 65531
  • Мастер кройки и шитья
    • Прошивка samsung скачать бесплатно
Re: Вопрос по анализу прошивок.
« Ответ #13 : Октябрь 19, 2012, 05:19:00 pm »
Очень доступно разжевано You are not allowed to view links. Register or Login
Эмулирующий отладчик для ARM можно взять тут: You are not allowed to view links. Register or Login называется Trace32
Генератор прошивок You are not allowed to view links. Register or Login

Оффлайн sergeydm

  • Hero Member
  • *****
  • Сообщений: 602
  • Karma: 82
  • От великого до смешного один шаг...
Re: Вопрос по анализу прошивок.
« Ответ #14 : Октябрь 20, 2012, 02:01:20 am »
блин,что-то я смотрю на эту тему You are not allowed to view links. Register or Login,а мы случаем не опоздали на год с разбором полетов,так прочь пессимизм,только оптемизм
Если вовремя не взяться за ум, то вскоре придется хвататься за голову.