Фев 28

Внимание, мошенник! Сливин Роман (slivinroman@yahoo.com)

Перепост с http://www.testcopy.ru/forum/viewtopic.php?f=6&t=3977

Добрый день всем!

Тема зрела давно, но вот сейчас выдалась свободная минутка. Итак собственно сабж.

Есть такой Сливин Роман, как пишет сам про себя — я программист. Чем занимается — тупо перепродает прошивки от всех фиксоделов, с которыми может договориться о покупке у них оптом прошивок.
Методы работы, сначала присылает прошивки, затем, когда втирается в доверие кидает покупателей — получая предоплату за прошивки ставит их в игнор.
Клиентов находит спамя многими сотнями писем по всем известным форумам по оргтехнике. Даже мне приходило от него письмо — :-)

Здравствуйте я программист заходите на мой сайтик…

Понятно, что занимаясь спамом в таком объеме не очень то получиться изучать прошивки. Если вы получили подобное письмо от него, то не имейте с ним никаких дел, это вор, рано или поздно кинет и вас тоже, причем без объяснения каких-либо причин.

Причем кидает как и покупателей прошивок так и продавцов (после кидка перебегает к другому продавцу).

Подтверждаю все вышесказанное, будьте внимательны и не ведитесь на уловки этого доброго человека.

Диапозон IP: 89.23.128-159.* ,  предлагаю банить везде.

UPD:
sliv3

 

UPD2:
KVG
:

Это скользкий тип, сразу найдет тысячу причин того, что сделал (последний раз сам ошибся при генерации прошивки номером чипа, распсиховался и пропал). По идее даже не знаю, лично то с ним не знаком, но человек и правда не очень порядочный. Распространяйте, чего уж там, раз человек кинул меня и наших программистов.

UPD3:

А здесь это чудо работает  работало:

МКМ сервис центр

400087, Волгоград, Пархоменко ул. 33

Юридическое название
ООО «МКМ сервис центр»

Телефон(ы)
(8442) 37-96-56
(8442) 37-95-56 факс

sliv4

 

UPD4:

А вот кто это на самом деле:
Аксенов Сергей Владимирович, г. Волжский, возраст 32-36

Фев 15

Изучение прошивки на примере SCX-3200 7 версии

По многочисленным просьбам читателей пишу серию статей о формате прошивок принтеров.

Начнем, пожалуй, с самого простого, практически с начала одноаппаратных прошивок. SCX-3200. Начиная с 8 версии, производитель начал применять шифрование, здесь же простое сжатие gzip.
Итак, нам понадобится:

1. HEX-редактор, любой, удобный вам. Мне нравится Hex Editor NEO.
2. Среда программирования, с языком которой вы знакомы. Для примера будем использовать PHP DevelStudio (http://develstudio.ru/), т.к. здесь проще всего организовать упаковку/распаковку gzip.
3. IDA Pro Advanced 5.5 with Hex-Rays для дизассемблирования.

Загрузим файл в хекс-редактор:

image001

и перейдем по адресу (CTRL+G) 0x40078 (здесь и далее все адреса в шестнадцатеричном представлении)

image002

Видим сигнатуру $ZIP . Здесь и находится ядро прошивки в упакованном виде.
Следующие 4 байта 0x40080000 – адрес распаковки ядра, далее 0x001afff4 – размер упакованной части.

image003

Лирическое отступление: 2 основные части прошивки – загрузчик и ядро. Загрузчик проверяет контрольную сумму прошивки, распаковывает и запускает ядро. Здесь же находится принудительный режим и дебаг. Ядро – основная рабочая программа принтера, реализующая функции печати, взаимодействие с компьютером, сетевые протоколы и все остальные рабочие процессы аппарата.

Теперь наступило время запустить Devel Studio.
Добавим на форму кнопку и создадим для нее событие «Клик»

image004

Двойным щелчком на надписи «Клик» откроем редактор кода.

image005

С этого момента начинается программирование.
Пишем следующий код:

$fn = 'D:\test\Z501BFEZ900168X_FIX_NU_3200_v07.hd';// имя файла и путь к нему
$file = file_get_contents($fn); // считывание содержимого файла в переменную
$zip = substr($file, 0x40078+0xC, 0x1afff4); // считывание упакованного ядра без заголовка $ZIP(0xC - 12 байт)
$unzip = gzuncompress($zip); // распаковка архива
file_put_contents('D:\kernel.hd',$unzip); // сохранение распакованного ядра в файл
echo "OK!";

Компилируем и запускаем (F9), нажимаем нашу единственную кнопку. Если пути к файлам прописаны правильно, и ошибок не возникает – видим сообщение «ОК». Появившийся файл ‘D:\kernel.hd‘ и есть наше распакованное ядро.

В нем поиском можно найти серийный номер.

image006

Улыбаемся, и представляем, как эти знания еще пару лет назад могли вас значительно обогатить.

Теперь загрузим ядро в ИДУ и немножко дизассемблируем.
Выбираем процессор ARMB (big endian):

image007

Выставляем адреса, как на картинке:

image008

Далее в меню Options -> General -> Analysis ->Kernel options 1 ставим галку Make final analysis pass -> OK -> Reanalyze program
Несколько минут курим. Пока идет процесс анализа кода, скажу вам, что верить Иде на 100% нельзя, иногда она ошибочно принимает данные за код и наоборот. И довольно часто домысливает лишние конструкции, что усложняет понимание кода. Лучше запускать исследуемые функции в эмуляторе и смотреть, что происходит с регистрами и памятью. Но, все-таки, общую картину понять можно значительно быстрее с помощью Иды.

Итак, анализ закончен, серийник находится по адресу 0x400C76B0 (для перехода нажать клавишу G)

image009

Серийный номер считывается из прошивки во время выполнения 0x400C768C и передается через R0 в функцию sub_400DBF70, которая проверяет его, и в случае соответствия пишет в R0 = 0.

ROM:400C769C CMP R0, #0
Здесь сравнение R0 с нулем, собственно, то место, где изменением пары байт можно сделать многоаппаратную прошивку.

На этом пока все, ждите продолжения. Если вы не понимаете всего вышесказанного, то лезть в эту тему смысла нет – дальше ещё сложнее.

Фев 01

Восстановление ML-2165W после неудачной прошивки

Данный метод применяется в случае, когда дебаг работает, но прошивка не заливается.
1. Подключаем дебаг, входим в режим pROBE+>
2. Нажимаем Ctrl+C ,

Do you want to download from external port?[N] :

Нажимаем Y

Enter Start Address[0x400E0000] : 0x

Вводим 400e0000
3. Заливаем по USB дамп (прошивка без первых 120 байт) оригинальной прошивки.

[[6422528 Bytes received]] — Complete Downloading

4. Вводим команду spi.ep 400e0000 0 620000 1
5. После окончания прошивки вводим reboot

Этим же способом можно понизить версию.
В случае заливки полной прошивки, а не дампа, придется прошивать флешку на программаторе, будьте осторожны.

Кроме того, понизить версию через дебаг можно введя команды:

pm.l 40022880 e3a00001
fl