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

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

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

Сообщение dede » 17 авг 2017, 20:56

Мда... добавить в busybox телнет, чтобы потом слить прошивку через него. Проще сразу TTL...

Но для иных целей, такой метод работает, я на камерах динднс и прочее запускаю

fireman
Специалист
Сообщения: 103
Зарегистрирован: 21 июл 2017, 08:41

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

Сообщение fireman » 18 авг 2017, 09:26

dede писал(а):Мда... добавить в busybox телнет, чтобы потом слить прошивку через него. Проще сразу TTL...

Но для иных целей, такой метод работает, я на камерах динднс и прочее запускаю
а в чём проблема собрать свои прошивки для слития полностью прошивок с оборудования, даже openwrt имеет по 2 прошивки.

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

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

Сообщение dede » 18 авг 2017, 11:44

Проблем нету, более правильные и простые решения - есть

oleglevsha
Специалист
Сообщения: 854
Зарегистрирован: 15 ноя 2014, 22:34
Откуда: alarmsystem-cctv
Контактная информация:

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

Сообщение oleglevsha » 11 дек 2017, 00:33

Обычно не пользуюсь специальными программами чтобы слить дамп с устройства, но этот скрипт мне понравился...
Немного допилил его под свои нужды, в частности для Dahua, там mtd блоков больше 10 и симлинки не работают.

Автору благодарность :smile:

Аватара пользователя
NeiroN
Специалист
Сообщения: 475
Зарегистрирован: 15 фев 2017, 21:59
Контактная информация:

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

Сообщение NeiroN » 11 дек 2017, 13:18

Допилил - делись! Сообщество на то и сообщество чтобы коллективным разумом добиться большего успеха.

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

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

Сообщение VirtualLink » 11 дек 2017, 14:39

Когда аппарат лежит, то скрипт не поможет!
Когда не известен или заблоччен вход в регистратор с потушеным телнетом, то скрипт не поможет!
В плане накопления базы, да, двумя руками за и то, телнет нужен!

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

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

Сообщение ipb » 16 янв 2018, 01:56

VirtualLink писал(а):..скрипт не поможет!
..телнет нужен!
А если есть telnet, то в чём прикол делать линки разделов в веб и сливать по вебу, когда всяко есть busybox, а там есть dd? А если тот dd по каким-то причинам не устраивает или его забыли присунуть, то можно записать подходящий busybox на флешку и использовать его оттуда.
Смонтировать ту флешку в тот же /var (mount /dev/<чего там флешка> /var/usb)

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

dd if=/dev/mtdblockX of=/var/usb/mtdblockX.img
Нету флешки или западло топать к регистратору, так в том же busybox есть ftpd, что более подходит для передачи файлов:

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

/var/usb/busybox tcpsvd -vE 0.0.0.0 21 /var/usb/busybox ftpd -w /
C этой точки зрения гораздо интереснее было бы узнать как склепать эту самую "прошивку" (или краткий update) для неизвестного по происхождению регистратора, чтобы подходящий (а не чертовски урезанный) busybox добавить хоть в какой-нибудь раздел. Место в 1 Mb под это дело всяко есть.

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

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

Сообщение VirtualLink » 16 янв 2018, 16:19

ipb писал(а):
VirtualLink писал(а):..скрипт не поможет!
..телнет нужен!
А если есть telnet, то в чём прикол делать линки разделов в веб и сливать по вебу, когда всяко есть busybox, а там есть dd? А если тот dd по каким-то причинам не устраивает или его забыли присунуть, то можно записать подходящий busybox на флешку и использовать его оттуда.
Смонтировать ту флешку в тот же /var (mount /dev/<чего там флешка> /var/usb)

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

dd if=/dev/mtdblockX of=/var/usb/mtdblockX.img
Нету флешки или западло топать к регистратору, так в том же busybox есть ftpd, что более подходит для передачи файлов:

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

/var/usb/busybox tcpsvd -vE 0.0.0.0 21 /var/usb/busybox ftpd -w /
C этой точки зрения гораздо интереснее было бы узнать как склепать эту самую "прошивку" (или краткий update) для неизвестного по происхождению регистратора, чтобы подходящий (а не чертовски урезанный) busybox добавить хоть в какой-нибудь раздел. Место в 1 Mb под это дело всяко есть.
Наверное регистратор никогда не был на руках, раз такое написано!

Когда регистратор XM на руках и он рабочий, то нет ограничений слить прошивку с закрытым телнетом и без TTL!
Когда регистратор XM на руках и он лежит, то TTL пи живом загрузчике или выпайка!
Остальное старые анахронизмы, которые редко встречаются, ведь все идет вперед и актуально новое, а не то, что уже не поддерживается производителем!

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

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

Сообщение ipb » 16 янв 2018, 16:54

ведь все идет вперед и актуально новое, а не то, что уже не поддерживается производителем!
Актуально новое - только у барыг, закупающих это актуально новое в Китае. А пользователю теми же барыгами впаривается откровенно старое под видом "актуально нового" и, к сожалению, когда начинаешь вникать, то оно практически всегда находится в гугле, как "снятое с производства". И поэтому - ни тебе этих прошивок, ни работающих ссылок - ни фига. Вот и парится народ скачкой чего-то отдалённо похожего, вероятно возможного для запуска на том, что имеется. Я так себе эту картину происшествий представил. Вы, случайно, не барыжничаете, что у вас "актуально новое" ?

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

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

Сообщение VirtualLink » 16 янв 2018, 23:53

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

Народ парится и от незнания и непонимания, потому как вникать надо, а это сложно, точнее не просто!

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

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

Сообщение ipb » 18 янв 2018, 13:36

Если все находится в гугле, то, что вы тут забыли?
Исключите из гугла этот сайт. ))

Ещё один вариант сохранения разделов "без выпаивания SPI Flash". )) По мотивам, так сказать "ссылок в вебе".

1. Надо найти прошивку регистратора и разобрать:

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

$ unzip ./Прошивка_регистратора.bin
Archive:  ./Прошивка_регистратора.bin
  inflating: custom-x.cramfs.img     
  inflating: InstallDesc             
  inflating: logo-x.cramfs.img       
  inflating: romfs-x.cramfs.img      
  inflating: user-x.cramfs.img       
  inflating: web-x.cramfs.img    
2. Выбрать образ cramfs из раздела web:

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

$ tail -c+65 < web-x.cramfs.img > web-x.cramfs
3. Смонтировать полученный образ web-x.cramfs - mount ./web-x.cramfs /mountpoint

4. Скопировать содержимое раздела из /mountpoint в другой какой-нибудь пустой каталог (/mountpoint01), куда добавить символические ссылки на желаемые mtdblockX из каталога /dev

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

$ cd ./mountpoint01
ln -s /dev/mtdblock0 my_mtdblock0
...
5. (Пункт по желанию) Здесь ещё хорошо добавить ссылку в каталог web-а на файл никсовых паролей и на конфигурационный каталог )) А ну как забудешь!

6. Собрать новый образ cramfs:

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

 ./mkcramfs ./mountpoint01 ./новый_образ_web_cramfs.img
7. Добавить данные по размещению в регистраторе, числа-адреса взять, например, из вывода ядра, или из данных имеющейся прошивки, то есть из исходного web-x.cramfs.img (binwalk покажет)

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

$ mkimage -A arm -O linux -T ramdisk -n "linux" -e 0xB80000 -a 0xA00000 -d новый_образ_web_cramfs.img web-x.cramfs.img
здесь вот эти 0xB80000 и 0xA00000 взяты из dmesg:

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

...
7 cmdlinepart partitions found on MTD device hi_sfc
Creating 7 MTD partitions on "hi_sfc":
0x000000000000-0x000000080000 : "boot"
0x000000080000-0x000000480000 : "romfs"
0x000000480000-0x000000a00000 : "user"
0x000000a00000-0x000000b80000 : "web"
0x000000b80000-0x000000e80000 : "custom"
0x000000e80000-0x000000ec0000 : "logo"
0x000000ec0000-0x000001000000 : "mtd"
Fixed MDIO Bus: probed
...
8. Создать файл (c разрешениями на исполнение) InstallDesc:

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

{
  "UpgradeCommand": [
    {
      "Command": "Burn",
      "FileName": "web-x.cramfs.img"
    }
  ],
  "Hardware": "Сюда_Напечатать_Свою_Хардварю",
  "Vendor": "Сюда_Напечатать_Своего_Вендора"
}
Свою_Хардварю и Своего_Вендора взять там:

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

$ cat /mnt/custom/ProductDefinition 
{
   "Vendor" : "Свой_Вендор",
   "Hardware" : "Своя_Хардваря",
...
9. Упаковать эти два файла (InstallDesc, web-x.cramfs.img) в zip-архив:

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

$ zip -D -X update-web.bin *
10. Записать на флешку этот update-web.bin в корень. Файловая система на флешке - та, которую понимает ваш регистратор. И обновиться сделанным обновлением.
Теперь всегда можно через веб эти файлы образов качнуть, и работе веба мешать не будет.

oleglevsha
Специалист
Сообщения: 854
Зарегистрирован: 15 ноя 2014, 22:34
Откуда: alarmsystem-cctv
Контактная информация:

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

Сообщение oleglevsha » 18 янв 2018, 21:20

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

Ответить

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