Распаковка dump.bin
Re: Распаковка dump.bin
У вас наверное убунта 18.04, в ней почему-то убрали этот пакет, однако можно скачать .deb файл от 16.04 и поставить вручную. Ну а по jffs, покажите всю последовательность команд.
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Предыстория такая. Есть дамп - жертва (как раз с jffs2). В своё время надо было пароль узнать к нему. Чтобы узнать, надо было распаковать. М-16 лихо вскрыл этот дамп и вытащил из него файл config.dat в котором был пароль. Это было возможно, это сработало и это решило задачу. Т.е это нужно, логика примерно такая). Далее эксперименты с jefferson, ему я скормил этот дамп целиком. Он распаковал его (не знаю корректно или нет, т.к я не великий специалист в сборке\разборке дампов, пока). В распакованном добре нужный файл был с паролем и задача была решена. Можно было там вырезать конечно и отдельно по кускам распаковывать, но смысла не увидел в данном случае, т.к jefferson сожрал всё целиком и выполнил поставленную задачу).dede писал(а):У вас наверное убунта 18.04, в ней почему-то убрали этот пакет, однако можно скачать .deb файл от 16.04 и поставить вручную. Ну а по jffs, покажите всю последовательность команд.
Ссылка на дамп-жертву https://yadi.sk/d/95_ljdNZ3aM5VH" onclick="window.open(this.href);return false;
Ладно, поэтапно идём, методом научно-профессионального тыка . Ещё способ (популярный, как я понял), смонтировать образ. Надо разобраться
И жертва с squashfs у меня есть и cramfs есть, доберусь и до них потихоньку . Но лучше конечно с jffs2 сначала закончить. Я пока распаковывать тренируюсь, а так у меня бошка лопнет, ещё и запаковывать сразу).
Ну ладно, вот есть пример http://www.decker.su/2015/02/mount-jffs2-in-linux.html" onclick="window.open(this.href);return false;
Я конечно не понял, что он делает в этой строчке и что это за цифры, но допустим..... так надо.
Код: Выделить всё
sudo modprobe mtdram total_size=24576 erase_size=128
Выполняем:
Код: Выделить всё
jffs2dump -b -eimage.bin 1.bin
Код: Выделить всё
........
Wrong bitmask at 0x000851f8, 0x7eba
Wrong bitmask at 0x000851fc, 0xf807
Wrong hdr_crc at 0x00085200, 0x12582d31 instead of 0x4fcb9146
Unknown node type: 0x8b37 at 0x00085200, totlen 0x39fbace4
Далее
Код: Выделить всё
jeka@Casper:~/Рабочий стол$ mkdir m
jeka@Casper:~/Рабочий стол$ sudo modprobe mmtdram total_size=24576 erase_size=128
[sudo] пароль для jeka:
modprobe: FATAL: Module mmtdram not found in directory /lib/modules/4.15.0-32-generic
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdram total_size=24576 erase_size=128
jeka@Casper:~/Рабочий стол$ cat /proc/mtd
dev: size erasesize name
mtd0: 01800000 00020000 "mtdram test device"
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdblock
jeka@Casper:~/Рабочий стол$ sudo dd if=image.bin of=/dev/mtdblock0
1065+0 записей получено
1065+0 записей отправлено
545280 bytes (545 kB, 532 KiB) copied, 0,0340712 s, 16,0 MB/s
jeka@Casper:~/Рабочий стол$ sudo mount -t jffs2 /dev/mtdblock0 m
mount: /home/jeka/Рабочий стол/m: can't read superblock on /dev/mtdblock0.
Re: Распаковка dump.bin
Так вы пытаетесь весь дамп смонтировать как jffs2, а там jffs2 только в последних 500-1500 Кб... вам нужно сначала вырезать jffs2 в отдельный файл и потом уже его монтировать.
Рекомендую познакомиться с binwalk, решает 99% поставленных задач
Рекомендую познакомиться с binwalk, решает 99% поставленных задач
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Судя по информации env rootfs 13120К. Вырезал его (добавил вырезку по прошлой ссылке к дампу рядом).dede писал(а):Так вы пытаетесь весь дамп смонтировать как jffs2, а там jffs2 только в последних 500-1500 Кб... вам нужно сначала вырезать jffs2 в отдельный файл и потом уже его монтировать.
Рекомендую познакомиться с binwalk, решает 99% поставленных задач
Попробовал провернуть монтирование опять).
Код: Выделить всё
Wrong bitmask at 0x000e12f8, 0xd6f0
Wrong bitmask at 0x000e12fc, 0x99ef
Wrong bitmask at 0x000e1300, 0xc454
Wrong bitmask at 0x000e1304, 0xc97d
Wrong bitmask at 0x000e1308, 0x4d2c
Wrong bitmask at 0x000e130c, 0xf1a1
Wrong hdr_crc at 0x000e1310, 0xb2b99a61 instead of 0xc437a2bd
Unknown node type: 0x3ac4 at 0x000e1310, totlen 0x7dc8e4dd
Ошибка сегментирования (стек памяти сброшен на диск)
Код: Выделить всё
jeka@Casper:~/Рабочий стол$ mkdir m
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdram total_size=24576 erase_size=128
[sudo] пароль для jeka:
jeka@Casper:~/Рабочий стол$ cat /proc/mtd
dev: size erasesize name
mtd0: 01800000 00020000 "mtdram test device"
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdblock
jeka@Casper:~/Рабочий стол$ sudo dd if=image.bin of=/dev/mtdblock0
1801+1 записей получено
1801+1 записей отправлено
922384 bytes (922 kB, 901 KiB) copied, 0,0528372 s, 17,5 MB/s
jeka@Casper:~/Рабочий стол$ sudo mount -t jffs2 /dev/mtdblock0 m
mount: /home/jeka/Рабочий стол/m: can't read superblock on /dev/mtdblock0.
binwalk почти всё там поставил, только Capstone и pyqtgraph не ставил вроде. Попробую воткнуть их тоже.
Последний раз редактировалось Fluffykrsk 18 авг 2018, 21:47, всего редактировалось 1 раз.
Re: Распаковка dump.bin
sudo modprobe mtdram total_size=13120 erase_size=128
sudo modprobe mtdblock
cat 1\ \(rootfs\).bin > /dev/mtdblock0
sudo mount -t jffs2 /dev/mtdblock0 /mnt/tmp
На выходе получаете примонтированную ФС, без ошибок, endian не надо конвертировать в данном случае
sudo modprobe mtdblock
cat 1\ \(rootfs\).bin > /dev/mtdblock0
sudo mount -t jffs2 /dev/mtdblock0 /mnt/tmp
На выходе получаете примонтированную ФС, без ошибок, endian не надо конвертировать в данном случае
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
После cat 1\ \(rootfs\).bin > /dev/mtdblock0dede писал(а):sudo modprobe mtdram total_size=13120 erase_size=128
sudo modprobe mtdblock
cat 1\ \(rootfs\).bin > /dev/mtdblock0
sudo mount -t jffs2 /dev/mtdblock0 /mnt/tmp
На выходе получаете примонтированную ФС, без ошибок, endian не надо конвертировать в данном случае
вылетает bash: /dev/mtdblock0: отказано в доступе
Где-то с правами косяк какой-то похоже. Чего-то мешает. Пробовал перебраться с рабочего стола в другое место, та же история.
Re: Распаковка dump.bin
cat 1\ \(rootfs\).bin | sudo tee /dev/mtdblock0
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Попробую))))...dede писал(а):cat 1\ \(rootfs\).bin | sudo tee /dev/mtdblock0
Я чего-то методом профессионального тыка организовал, совместил инструкцию и ваши рекомендации, пробуя разные варианты).
Код: Выделить всё
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdram total_size=13120 erase_size=128
[sudo] пароль для jeka:
jeka@Casper:~/Рабочий стол$ cat 1 /proc/mtd
cat: 1: Нет такого файла или каталога
dev: size erasesize name
mtd0: 01800000 00020000 "mtdram test device"
jeka@Casper:~/Рабочий стол$ cat /proc/mtd
dev: size erasesize name
mtd0: 01800000 00020000 "mtdram test device"
jeka@Casper:~/Рабочий стол$ sudo modprobe mtdblock
jeka@Casper:~/Рабочий стол$ sudo dd if=1.bin of=/dev/mtdblock0
26240+1 записей получено
26240+1 записей отправлено
13434881 bytes (13 MB, 13 MiB) copied, 0,748593 s, 17,9 MB/s
jeka@Casper:~/Рабочий стол$ mkdir m
jeka@Casper:~/Рабочий стол$ sudo mount -t jffs2 /dev/mtdblock0 m
И папка m не пустая и том этот клон папки... интересно, как-то он примонтировался без .tar.gz всяких.
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Это для названия файла 1 (rootfs).bin как я понял. Там чего-то странное получилось. Терминал с ума сошёл. Начал выдавать артефакты какие-то, листал, листал чего-то, забиваясь мусором каким-то и потом завис .dede писал(а):cat 1\ \(rootfs\).bin | sudo tee /dev/mtdblock0
В общем почему-то у меня так получилось:
Вырезаем rootfs (13120К)
sudo modprobe mtdram total_size=13120 erase_size=128 (указываем его размер без всяких конвертаций в little-endian)
sudo modprobe mtdblock
sudo dd if=1.bin of=/dev/mtdblock0 (для названия файла 1.bin переименовал вырезку, чтобы 1 (rootfs).bin не писать)
mkdir m (без создания папки нефига не работет, проверил)
sudo mount -t jffs2 /dev/mtdblock0 m
Вот тогда только монтируется добро
dede Спасибо большое, что подсказывали. Я вас замучил уже наверное сегодня, своими страданиями. Просто, чего-то инструкция с нюансом))).
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Я чего-то не пойму, а чем распаковка модулями отличается от обычной распаковки 7z под виндой). Вроде как, тоже самое и получается)).Sonya писал(а):По распаковке и упаковке cramfs я как-то давно уже писал на хабре.
По перепаковке squashfs всё аналогично:
Распаковать:Упаковать:Код: Выделить всё
unsquashfs -d ./extracted/user ./unpacked/user-x.cramfs
Код: Выделить всё
mksquashfs ./user ./user-x.cramfs -noappend -no-progress -b 256k -comp xz
Смонтировал и распаковал, смотрел на всё это дело и разницы не почувствовал. В конце озадачился вопросом, а нафига я страдал пытаясь всё это в линуксе распаковать по фуншую.
Или распаковка 7z при сборке обратной потом пакостит...
В статье кстати, про файл passwd упоминается, там какаята интересная история, оно не всегда файл, оно может быть ярлык, ведущий в некий busybox, какой-то мерзкий контейнер и походу ещё зашифрованный
Re: Распаковка dump.bin
7зип уже научился mksquashfs делать? Распаковать он все сможет. Запаковать - что-то сомневаюсь. jffs2 вообще нужно только монтировать как блочное устройство, для внесения изменений.
- Fluffykrsk
- Специалист
- Сообщения: 428
- Зарегистрирован: 10 июн 2018, 18:25
Re: Распаковка dump.bin
Запаковать-то нет конечно. Ну, т.е получается, теоретически разобрать cramfs и squashfs можно 7зипом без опасений возникновения проблем в дальнейшем. Всё время в винде им пытался распаковывать, куски с соответствующими файловыми системами, что-то распаковывалось, а насколько корректно это происходило было непонятно. Некоторые папки пустые, неизвестно, все ли файлы на месте и т.д. А тут экспериментально получилось, что вроде как тоже самое и есть после распаковки). Получается, что jffs2 самая такая затруднённо вскрываемая (без софта) из них из всех (обычно встречающихся).dede писал(а):7зип уже научился mksquashfs делать? Распаковать он все сможет. Запаковать - что-то сомневаюсь. jffs2 вообще нужно только монтировать как блочное устройство, для внесения изменений.