Дампим прошивку без выпаивания SPI Flash

Вопросы по восстановлению, настройке, апгрейду, прошивкам и т.п.
Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение VirtualLink » 18 янв 2018, 21:38

oleglevsha писал(а):Не хочу мешать полету ваших фантазий, но зачем мне понадобится дамп прошивки которую я сам и собрал?
Обычно дамп нужен чтобы сохранить существующую версию прошивки для изучения или для возможности восстановления устройства в дальнейшем.
В чем скрытый смысл?
Да, странные рассуждения и раскладки тут и в соседней ветке про логотип, с которым ничего не получается у ТС и не сразу выяснилось, что это XM!
Основного смысла нет, куда там до скрытого!
Убрать фантазии и оставить чистый скриптовой код - так просто загляденье!

ipb
Постоянный посетитель
Сообщения: 99
Зарегистрирован: 11 июн 2017, 19:59

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение ipb » 18 янв 2018, 22:01

oleglevsha писал(а):Не хочу мешать полету ваших фантазий, но зачем мне понадобится дамп прошивки которую я сам и собрал?
Обычно дамп нужен чтобы сохранить существующую версию прошивки для изучения или для возможности восстановления устройства в дальнейшем.
В чем скрытый смысл?
Я тоже не понял зачем задавать вопрос и в самом вопросе дать на него ответ ))
Зачем дампим? Затем, чтоб было возможно восстановить )) А у нас тут, в теме, изначально есть telnet. Так что полный цикл всего действа вы удачно обрисовали в своём вопросе. ))
Или как? Надо сбегать в магазин за флешкой, законнектиться и шить, предваритьльно разобрав девайс? Ну-у, у каждого свои взгляды. Мне, например, нравится убирать проблемы на устройстве без разбора и снятия девайса с рабочего места. Если вам так не нравится, то это ваш выбор. ))

ipb
Постоянный посетитель
Сообщения: 99
Зарегистрирован: 11 июн 2017, 19:59

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение ipb » 19 янв 2018, 22:56

Рисуя на досуги всевозможные logo для используемого регистратора вдруг и неожиданно вспомнил об этой теме. И с целью продолжения разговора по вариантам сохранения имеющегося на регистраторе firmware без выпаивания flash решил проверить очередной вариант, как бы совмещающий обе темы разом.
Вот, например, при имеющемся в моём распоряжении регистраторе (product type: DVR_HI3000D-S, Hardware : MBD6508E) я вдруг и неожиданно забыл пароль от telnet. Или я его вовсе не знал, или он на используемом регистраторе выключен, благодаря, например, предпринятому обновлению firmware, где этот факт (отключение telnet из автостартующих) общеизвестен.
Проверил как работает web-сервер на регистраторе. Не новость, но всё же - этот web-сервер работает уверенно и надёжно, но не на столько надёжно, на сколько бы хотелось.
Выбрать сведения из /etc/passwd , где данные по паролю root, или из /mnt/mtd/Config, где данные по учётным записям не получается. Ссылки вида http://" onclick="window.open(this.href);return false;<адрес>/../mtd/Config/Account<X> или http://" onclick="window.open(this.href);return false;<адрес>/../../etc/passwd не позволяют получить желаемое. Но я очень удивился, когда web-сервер с удовольствием обработал раздел logo.
Вот, например, на используемом мною регистраторе logo-файл в разделе logo (смонтированный по замыслу разработчика в каталог /mnt/logo) - это файл bmp_logo.bmp. И без всякой авторизации через web-сервер, не вводя никаких учёток, по ссылке http://" onclick="window.open(this.href);return false;<адрес_регистратора>/../logo/bmp_logo.bmp я спокойно выкачиваю этот файл. И разрешения/пермишены тут вовсе не при чём. Они для интересующих файлов везде 644 root:root. Только web-сервер в раздел logo "сходить" может, а в раздел /mtd - не желает. В общем, всё это должно иметь какое-то научное объяснение, но я пока этого объяснения не нашёл.
Это что-то тут производитель напутал в настройках сервера, наверное. Но факт есть. И благодаря этой странности, без всяких telnet-ов c отказом в регистрации на порту 9527, я так и могу слить firmware. С одной жертвой из этого firmware. И жертвой будет картинка (или картинки) в logo.
Собственно, мне надо было сначала научиться рисовать такие картинки, а потом жертвовать. Но если вы знаете имя файла в этом logo, а эти имена, как я понимаю, могут быть разные, то можно и не жертвовать. wget или curl в помощь. Сливаются без авторизации.
Опять же.. надо на каждой firmware проверять. Я не вообще говорю, а то, что получается на имеющемся у меня регистраторе.

Короче, не нашёл я более никчёмного раздела в регистраторе, чем этот logo. И даже если лежащую там картинку придётся потерять, то нарисовать всегда можно.

Предлагается сделать так.

1. Узнать разметку разделов на flash. Это можно сделать известными способами: посмотреть более свежую или более старую firmware для своего регистратора или законнектиться "с тыла", что называют здесь TTL, кажись. Разумеется, лучше посмотреть и там, и там, свериться.
2. Создать "обновление" раздела logo, куда добавить, например, каталог с символическими ссылками на mtdblock<X>. Для смеха: и на файлы /etc/passwd , и если хочется сохранить пароли других пользователей конфигурационные файлы из /mnt/mtd/Config. Сделать это "обновление" можно так же, что и для раздела web (с.м. выше). Но web - это всё же рабочая составляющая firmware. Не факт, что web из старых firmware или из новых такой же. А вот logo - это совершенно не жаль, и что там будет за картинка - до лампочки.
3. "Обновить" раздел logo сделанным обновлением и слить все эти mtdblock<X> через web по ссылке
http://" onclick="window.open(this.href);return false;<адрес регистратора>/../logo/<придуманный_вами_каталог>/<имя_символической_ссылки_на_интересующую_цель>

Проверил на своём регистраторе - это работает. Про другие ничего сказать не могу. Может, где и никакого раздела logo нет. ))

kimko
Новичок
Сообщения: 33
Зарегистрирован: 28 янв 2018, 11:57

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение kimko » 31 янв 2018, 23:54

Экземпляр:

Код: Выделить всё

   "Vendor" : "General",
   "Hardware" : "MBD9216B-F",
Разбираюсь... Как оттуда проверить-стянуть logo-файл понятия не имею. Какой-то очень продвинутый разум вот такое файло туда влепил:

Код: Выделить всё

[root@MyReg logo]$ pwd
/mnt/logo

[root@MyReg logo]$ ls
����CMSlogo.jpg

[root@MyReg logo]$ namefile=`ls -a`;for j in 0 1 2 3; do echo -n ${namefile:$j:1} | od -An -t u;done      
        182
        237
        211
        239
Первые четыре символа в переводе на вменяемый язык означают: ¶ í Ó ï . По порядку - это абзац, i с акутом, O c акутом, i c диэризисом. Как это через url в вебе сделать - пока не придумал.

Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение VirtualLink » 01 фев 2018, 00:43

bpi, родной, как ты себя сдал с патрахами!

NakedBA
Новичок
Сообщения: 12
Зарегистрирован: 30 дек 2018, 11:15

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение NakedBA » 04 янв 2019, 13:54

Здравствуйте!
Есть нонейм камера на Hi3518. Прошивок нет.
Есть только телнет, пароль неизвестен, на плате только UART RX, тоесть в U-Boot попасть не могу.
Планирую слить дамп с выпяной флэш и собрать это в прошивку с измененным рут паролем для начала. Заливать изменения планирую через имидж на SD карте.
Может кто-то покажет на пальцах как собрать имиджи флешки согласно карте адресов из дампа в файл прошивки хотябы на примере одного раздела? Имеет ли значение имя каждого файла в архиые прошивки?

Creating 7 MTD partitions on "hi_sfc":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000060000 : "env"
0x000000060000-0x000000080000 : "conf"
0x000000080000-0x000000380000 : "os"
0x000000380000-0x000000b80000 : "rootfs"
0x000000b80000-0x000000fe0000 : "home"
0x000000fe0000-0x000001000000 : "vd"

dede
Специалист
Сообщения: 1957
Зарегистрирован: 22 мар 2017, 15:02
Откуда: Луганск

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение dede » 04 янв 2019, 14:01

Слейте дамп и покажите, может без пересборки получится. А что с ТХ? Может там просто резюков не хватает?


P.S. На удачу, попробуйте пароль рута 1234qwer

NakedBA
Новичок
Сообщения: 12
Зарегистрирован: 30 дек 2018, 11:15

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение NakedBA » 04 янв 2019, 16:28

dede писал(а):Слейте дамп и покажите, может без пересборки получится. А что с ТХ? Может там просто резюков не хватает?
P.S. На удачу, попробуйте пароль рута 1234qwer
Этот пароль я тоже пробовал, не подходит ;)
Рядом с площадкой RX есть еще одна (фото), логично было бы что это TX, но нет, там тоже вывод, проверял осциллографом, уровень тот же, тайминг совпадает, но при этом эти пины не соединены между собюой и выведены на контакты 2 и 3 разъема micro USB. Возможно это какой-то аппаратный loopback, но где он выключается я не знаю.
Камера ессно в виндовс не определяется и постоянная ругань на такое "устройство" :)
Пямять выпаял, как считаю выложу дамп. Панельки SOP-8W не оказалось под рукой.
Вложения
IMG_5361.JPG
IMG_5354.JPG
_IMG_5361.JPG
_IMG_5361.JPG (15.99 КБ) 7801 просмотр
Последний раз редактировалось NakedBA 04 янв 2019, 16:39, всего редактировалось 1 раз.

dede
Специалист
Сообщения: 1957
Зарегистрирован: 22 мар 2017, 15:02
Откуда: Луганск

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение dede » 04 янв 2019, 16:32

Так или иначе, должны подойти прошивки https://4pda.ru/forum/index.php?showtopic=638230" onclick="window.open(this.href);return false;

NakedBA
Новичок
Сообщения: 12
Зарегистрирован: 30 дек 2018, 11:15

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение NakedBA » 04 янв 2019, 16:49

dede писал(а):Так или иначе, должны подойти прошивки https://4pda.ru/forum/index.php?showtopic=638230" onclick="window.open(this.href);return false;
Боюсь что нет, т.к. платы разные и сенсоры как мнимум тоже, у меня SC1145 а там ov9712. Может быть в прошивке и есть нужный модуль.
Хотя попробую как солью дамп, наверно... )

NakedBA
Новичок
Сообщения: 12
Зарегистрирован: 30 дек 2018, 11:15

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение NakedBA » 05 янв 2019, 18:56

dede писал(а):Слейте дамп и покажите, может без пересборки получится.
Слил прошивку.
Согласно лога загрузки вычленил блоки:
Kernel command line: mem=43M console=ttyAMA0,115200 root=/dev/mtdblock4 rootfstype=jffs2 mtdparts=hi_sfc:256k(boot)ro,128k(env),128k(conf),3072k(os),8192k(rootfs),4480k(home),128k(vd),16384k(app)

mtd: hi_sfc: partitioning exceeds flash size, truncating
7 cmdlinepart partitions found on MTD device hi_sfc
7 cmdlinepart partitions found on MTD device hi_sfc
Creating 7 MTD partitions on "hi_sfc":
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000060000 : "env"
0x000000060000-0x000000080000 : "conf"
0x000000080000-0x000000380000 : "os"
0x000000380000-0x000000b80000 : "rootfs"
0x000000b80000-0x000000fe0000 : "home"
0x000000fe0000-0x000001000000 : "vd"
Монтирую например rootfs и не вижу там ничего приличного. Я рассчитывал в /etc/shadow заменить хэш пароля на свой, но тут структура папок похожа на огрызок линукс системы...
Или это так не работает? :crazy:

Лог загрузки в аттаче.
Вложения
05-01-2019 20-52-31.jpg
boot.zip
(9.19 КБ) 317 скачиваний

NakedBA
Новичок
Сообщения: 12
Зарегистрирован: 30 дек 2018, 11:15

Re: Дампим прошивку без выпаивания SPI Flash

Сообщение NakedBA » 05 янв 2019, 19:19


Ответить

Вернуться в «Восстановление и настройка»