Страница 2 из 2

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 02 сен 2015, 09:03
dpetinov
Много чего говорят и фраера гибнут ни за что. Я не только слышал, про такой регистратор, я его даже видел. А кто такой СВХ?
И почему его спокойствие всех беспокоит?

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 02 сен 2015, 11:13
iTuneDVR
dpetinov писал(а):Много чего говорят и фраера гибнут ни за что.

Такого не бывает, всему есть причина, уж поверь ;)

dpetinov писал(а):Я не только слышал, про такой регистратор, я его даже видел.

Ну вот, тем более стимул, а не с нуля ;)


dpetinov писал(а):А кто такой СВХ?

Читай интернет ;)

dpetinov писал(а):И почему его спокойствие всех беспокоит?

Не совсем понял об чём речь?
Меня ничего не беЗпокоит ни в данной ситуации, ни вообще по этой тематике.
Человек он нормальный, я его знаю, общались долго, поддерживали связь, но... как я и писал у же выше.... люди меняются из за .....

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

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 02 сен 2015, 18:57
dpetinov
Склад временного хранения. В этом наверное суть мотивации - я понимаю.

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 02 сен 2015, 19:24
iTuneDVR
dpetinov писал(а):Склад временного хранения. В этом наверное суть мотивации - я понимаю.

Нет ;)

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 17 май 2017, 06:37
zettzett
Не камера но фокус подобный, читаем и пробуем применить на себя. Не забываем про big endian.

Начинаем исследование. Зацепившись по ssh или telnet к мультиплексору находим где лежат доки:

scmr> ls /etc/tejas/docs
323-1855-310.r4.0.pdf 323-1855-543.r4.0.pdf version.txt
323-1855-320.r4.0.pdf index.html

Тут же недалеко видим и сам образ с документацией:

scmr> ls /etc/tejas/docimage
doc-bundle_pdf_R40_27.img

Предполагаем, что мультиплексор монтирует каталог с документацией прямо из образа и немного порывшись в конфигах видим:

scmr> cat /etc/rc.d/init.d/mountfs

TEJASDOC=/etc/tejas/docs
doc_image=`ls $TEJASDOC/*.img` &> /dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "Notice!! Mounting $doc_image to $TEJASDOC"
mount -t cramfs -o loop,ro $doc_image $TEJASDOC
fi


Отсюда видим, что образ есть cramfs и никто не мешает нам его распаковать и поправить. Забираем данный образ по FTP, перемещаем на машину с Linux в каталог /tmp с именем doc.img и поняв, с чем мы имеем дело ставим необходимый инструмент:

sudo sudo apt-get install cramfsprogs cramfsswap

начинаем препарировать его:

file /tmp/doc.img
/tmp/doc.img: Linux Compressed ROM File System data, big endian size 4501504 version #2 sorted_dirs CRC 0x78e34d3c,
edition 0, 1710 blocks, 6 files

Видим, что образ есть big endian, при попытке монтирования получим ошибку:

sudo mount -t cramfs -o loop,ro doc.img /tmp/doc
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
В некоторых случаях полезная информация может быть
найдена в syslog - попробуйте dmesg | tail или что-то
в этом роде

Приходим к выводу что его необходимо преобразовать его в little endian:

cramfsswap /tmp/doc.img doc.cramfs
Filesystem is big endian, will be converted to little endian.
Filesystem contains 5 files.
CRC: 0x22fe617b

file /tmp/doc.cramfs
/tmp/doc.cramfs: Linux Compressed ROM File System data, little endian size 4501504 version #2 sorted_dirs CRC 0x22fe617b, edition 0, 1710 blocks, 6 files

Теперь пробуем монтировать:

mkdir /tmp/doc
sudo mount -t cramfs -o loop,ro /tmp/doc.cramfs /tmp/doc
ls /tmp/doc
323-1855-310.r4.0.pdf 323-1855-543.r4.0.pdf version.txt
323-1855-320.r4.0.pdf index.html

Как видим теперь все в порядке. Приступим к редактированию, для этого образ необходимо распаковать и запаковать обратно, т.к. cramfs поддерживает монтирование только для чтения.

sudo umount /tmp/doc
rmdir /tmp/doc
cramfsck -x /tmp/doc /tmp/doc.cramfs

Вносим необходимые изменения и пакуем обратно:

mkcramfs -n 'Docs bundle' /tmp/doc /tmp/doc1.cramfs
Directory data: 256 bytes
Everything: 4400 kilobytes
Super block: 76 bytes
CRC: 3da46b72
warning: gids truncated to 8 bits (this may be a security concern)

Не забываем конвертировать обратно в big endian:

cramfsswap doc1.cramfs doc1.img
Filesystem is little endian, will be converted to big endian.
Filesystem contains 6 files.
CRC: 0xc0031123

Шьем образ через вебморду и радуемся)))

Re: чем Разобрать файлы внутри cramfs.img

Добавлено: 17 май 2017, 12:19
iTuneDVR
Ну, тут всё-таки контекст камера, да и затруднений там особых нет, все спокойно открывается, но манипуляции с endian поучительные! ;)