Предыстория.
Мы с друзьями решили записать таймлапс видео (ускоренная съемка), как мы обустраиваем скульптурную мастерскую в Артмузе на Васильевском острове. Было принято решение видео писать на видео регистратор. попросили руга, он нам даль попользоваться оборудование. Занчится, записывал он видео с двух IP камер на жесткий диск объемом 1.8GB.
Сам регистратор работает исправно пишет видео и воспроизводит. Можно сохранять архивное видео на флешку по одному файлу, но Вы сами себе представляете, что это за работа, по одному фалу перетащить 1ТБ видео - из болота тащить бегемота.
Поиск в гугле прямого ответа не дает, а название модели DA-NVR91080, вообще не знает.
Проблема
Первым делом после записи видео обустрйоства мастерской, я, как умная Маша, снял жетский диск и подмонтировал его в винду, в надежде увидеть там архив видеозаписей. Но не тут то было. Раздел там оказался линуксовый с файловой системой ext3, но это меня не остановило, скачал тулзу, которая дружит такие разделы с вендой. После небольших манипуляций, выяснилось, что на диске не никаких видео (облом, батюшка), а только какие-то непонятные куски размером по 1Gb каждый, с именами в шестнадцатиричном формате от 0000 до 0744, безо всяких расширений и проч.
Вскрытие WinHex'ом ничего полезного не показало: некоторые куски просто заполнены нулями, некоторые имеют непонятный для меня набор данных:
Код: Выделить всё
unsigned AnsiChar data[608] = {
0x00, 0x00, 0xFC, 0xD6, 0x78, 0x27, 0x31, 0x56, 0x94, 0x3B, 0x00, 0x00, 0xA0, 0x1E, 0x0C, 0xD9,
0x4F, 0x57, 0x61, 0xF2, 0x00, 0xD8, 0x00, 0x10, 0x00, 0x05, 0xC0, 0x03, 0x1E, 0x02, 0x4F, 0x3E,
0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x28, 0xAD, 0x84, 0x05, 0x45,
0x62, 0xB8, 0xAC, 0x54, 0x74, 0x20, 0x2A, 0x2B, 0x15, 0xC5, 0x62, 0xA3, 0xA1, 0x01, 0x51, 0x58,
0xAE, 0x2B, 0x15, 0x1D, 0x08, 0x0A, 0x8A, 0xC5, 0x71, 0x58, 0xA8, 0xE8, 0x40, 0x54, 0x56, 0x2B,
0x8A, 0xC5, 0x47, 0x42, 0x02, 0xA2, 0xB1, 0x5C, 0x56, 0x2A, 0x3A, 0x10, 0x24, 0x85, 0x21, 0x39,
0x3C, 0x9F, 0x27, 0xE4, 0xFE, 0x4F, 0xC9, 0xF2, 0x79, 0xB9, 0xB3, 0x4D, 0x08, 0x12, 0x42, 0x90,
0x9C, 0x9E, 0x4F, 0x93, 0xF2, 0x7F, 0x27, 0xE4, 0xF9, 0x3C, 0xDC, 0xD9, 0xA6, 0xB4, 0x02, 0x80,
0x3C, 0xD2, 0xA4, 0x00, 0x00, 0x03, 0x01, 0xE0, 0x00, 0x00, 0x70, 0x81, 0x81, 0x00, 0x00, 0xF4,
0x24, 0x00, 0x00, 0x44, 0xAA, 0x2B, 0xDE, 0xF8, 0x5E, 0x11, 0x08, 0xD4, 0x00, 0x00, 0xFD, 0xD6,
0x78, 0x27, 0x31, 0x56, 0x9A, 0x3B, 0x00, 0x00, 0x94, 0x1D, 0x7C, 0x29, 0x7E, 0x5E, 0xE5, 0x8E,
0x00, 0xEE, 0x00, 0x10, 0x00, 0x05, 0xC0, 0x03, 0x1E, 0x02, 0xD3, 0xFA, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x68, 0xEE, 0x3C, 0xB0, 0x00, 0x00, 0xFE, 0xD6, 0x78, 0x27, 0x31, 0x56,
0x5E, 0x76, 0x01, 0x00, 0x5A, 0xD4, 0x7B, 0x32, 0xC6, 0x96, 0x87, 0xF0, 0x00, 0x51, 0x00, 0x10,
0x00, 0x05, 0xC0, 0x03, 0x1E, 0x02, 0x60, 0xD4, 0x0B, 0xCD, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
0x65, 0x88, 0x82, 0x06, 0xFF, 0x63, 0xD3, 0x3E, 0x6D, 0x4D, 0xB6, 0xF3, 0x25, 0x81, 0x2B, 0xE6,
0x6F, 0xEC, 0x58, 0xB4, 0x7F, 0xFE, 0x24, 0xA7, 0x7B, 0xE9, 0x0D, 0x29, 0x5A, 0x6E, 0x12, 0xB8,
0x9D, 0x54, 0x18, 0xFA, 0xFC, 0xB1, 0x14, 0x8D, 0xCD, 0x13, 0x10, 0x0A, 0x5B, 0x38, 0xBA, 0xBB,
0xA4, 0xF6, 0x9A, 0xF3, 0xC7, 0xDE, 0xC0, 0x9F, 0x84, 0x20, 0x0B, 0x97, 0xDA, 0xA5, 0x61, 0x50,
0x14, 0x05, 0x78, 0x9B, 0x27, 0x56, 0x7B, 0x1C, 0xDE, 0x31, 0x1D, 0x52, 0x26, 0x90, 0xD3, 0xF9,
0xC1, 0xB6, 0x15, 0xB9, 0x2B, 0x7B, 0xF8, 0x30, 0xFF, 0xF8, 0x98, 0xA0, 0x39, 0x96, 0xC4, 0x06,
0x56, 0xD6, 0x61, 0x58, 0xE4, 0x73, 0x1D, 0x51, 0xBF, 0xF5, 0xB0, 0x67, 0x0D, 0xC1, 0x08, 0x4C,
0xFD, 0xB9, 0x8A, 0x33, 0xCA, 0xA9, 0x5E, 0xAC, 0x6B, 0x18, 0xDE, 0x6F, 0xD6, 0xA1, 0xA2, 0xDF,
0x82, 0x7F, 0x13, 0xC6, 0x2E, 0x10, 0x83, 0x20, 0xF0, 0xA4, 0x64, 0xB9, 0x22, 0x70, 0xAF, 0x0A,
0xF3, 0x10, 0xEC, 0x2E, 0xC7, 0x0B, 0x23, 0x40, 0xA0, 0xB4, 0x5A, 0x61, 0x04, 0x40, 0x61, 0x2D,
0x6B, 0x77, 0x3B, 0x2F, 0x7E, 0x11, 0xA8, 0x80, 0x87, 0xB4, 0xB4, 0xBC, 0xF2, 0x04, 0x82, 0x29,
0x39, 0x29, 0x67, 0x5D, 0xAF, 0x0B, 0xA9, 0x88, 0x7E, 0x99, 0x74, 0x8D, 0x5D, 0x25, 0x21, 0xAE,
0xDC, 0xB7, 0x2D, 0xBB, 0xEA, 0x0E, 0xB0, 0x68, 0xC2, 0x0D, 0x83, 0x66, 0xA0, 0x00, 0xF0, 0xEB,
0x99, 0xE0, 0xFC, 0x43, 0xD6, 0x3C, 0xCE, 0x11, 0x53, 0x9B, 0x8E, 0xEF, 0xDA, 0xF4, 0x3A, 0x23,
0xE1, 0x08, 0xD0, 0x13, 0x39, 0x57, 0xEE, 0xBB, 0xC6, 0xD8, 0xE1, 0x2F, 0xFD, 0xB9, 0x47, 0x58,
0xE1, 0x22, 0x81, 0x92, 0xB1, 0x58, 0x84, 0x93, 0xCD, 0x8E, 0x24, 0x01, 0xE7, 0x24, 0x9D, 0xB7,
0x68, 0xB2, 0x1B, 0x14, 0xA0, 0xCD, 0x81, 0x9B, 0x76, 0x5A, 0x0F, 0x8F, 0x5F, 0x21, 0xDC, 0xE2,
0xBF, 0xB5, 0x63, 0xFB, 0x97, 0x37, 0x91, 0x38, 0xF7, 0x2B, 0x70, 0x10, 0x43, 0x2E, 0x7D, 0x18,
0x40, 0x3F, 0xE7, 0x00, 0xC8, 0xE6, 0x86, 0x95, 0x6C, 0x46, 0xAD, 0x3C, 0x11, 0x3C, 0x93, 0x6C,
0x29, 0x93, 0xB8, 0x36, 0x63, 0x86, 0x88, 0x9C, 0x48, 0xFC, 0x01, 0xAB, 0x37, 0x64, 0x91, 0x08,
0xF6, 0x00, 0x47, 0xF7, 0x8A, 0x29, 0xCB, 0xBF, 0x6D, 0xD0, 0x96, 0xB4, 0xCD, 0xE6, 0x44, 0x4C,
0x23, 0x7B, 0x99, 0x75, 0x35, 0x9A, 0x4F, 0xB9, 0xA8, 0x5A, 0x50, 0x34, 0x96, 0x98, 0x3A, 0x56,
0xD8, 0x77, 0xA5, 0xDB, 0xC6, 0xCE, 0xE7, 0x99, 0x04, 0x1B, 0x66, 0x72, 0x2D, 0x99, 0xD2, 0xBA
.............
};
Первая мысль - это какая-то виртуальная распределенная файловая система, разбитая на куски по 1GB. Следовательно, надо попытаться зайти в консоль и посмотреть на все это дело непосредственно через призму операционки, вдруг она там подмонтирована определнным образом в какую-нибудь папку и, вуаля. Но нет.
http://www.hkvstar.com/pdf/Hi3521.pdf
На радость 23 порт оказался открытым для подключения по telnet. Пароля я не знал. Поиск в гугл подсказал несколько возможных вариантов http://zftlab.org/pages/2015090300.html, но не один из них не подошел. Попытки сбрутфорсить по словарю, тоже не давали быстрых результатов. Немного отдохнув, я снова вбил маркировку с платы Hi3521, и натолкнулся на человека с такой же проблемой http://forum.videon.spb.ru/viewtopic.ph ... 1&start=15
где он приводит хэш
Код: Выделить всё
root:$1$ZebZnWdY$QZ1Aa.7hwBshCS5k40MUE1:0:0::/root:/bin/sh
Код: Выделить всё
root:xc12345
Код: Выделить всё
# mount
rootfs on / type rootfs (rw)
/dev/root on / type cramfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /var type tmpfs (rw,relatime)
tmpfs on /app type tmpfs (rw,relatime)
tmpfs on /www type tmpfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
/dev/mtdblock5 on /data type jffs2 (rw,relatime)
/dev/mtdblock6 on /config type jffs2 (rw,relatime)
/dev/sda1 on /disk/disk0001 type ext4 (rw,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered)
(сразу оговорюсь, что у меня два HDD один который я подмонтировал в венде, второй пока еще в регистраторе).
Попытка №2
Т.к. напрямую видео получить не удается, пробую зайти с другой стороны. Начал искать программу для PC, умеющую скачивать видео удаленно. Заход на вебморду по 8005 порту дает возможность только настраивать схему опевещения и режим записи, а также просматривать что сейчас происходит на камерах.
Поиск по картинке из вебморды вывел меня на производителя AceSee. Там я нашл програмку для скачивания видео. HeroSpeed CMS ver 5.3.12.1, но она отказалась работать - запрашивать список файлов умеет, даже просматривать может, но с трудом и велетами. При скачивании вылетает ошибка, и download прекращается, так и не начавшись. =( Другие версии программы могут просматривать, но не могут удаленно скачивать видеозаписи.
Это единственная программа, которая хоть как-то работает. Я перепробовал тонну другого софта (список приводить не буду, ибо уже и забыл) - результата ноль.
Попытка №3
Во время изучения диска заметил, что он имеет странную метку тома - RaySharp. Поиск в гугле вывел на производителя. но на сайте ничего толкового не нашлось, кроме брифшита на проц.
Поиск по ключу RaySharp file system вывел меня на програмку судебной экспертизы GetData Mount Image pro (могу поделиться в личку), она якобы нашла несколько видео файлов, но зато с нулевой длинной =)
Подробное изучение файловой системы регистратора на предмет raysharp выдал
Код: Выделить всё
# grep -lir 'raysharp' /app
/app/platform_test
/app/lib/libboa.so
/app/lib/lib28181.so
/app/bin/platform_test
/app/bin/formatDisk.sh
Код: Выделить всё
#!/bin/sh
DISK=$1
echo "format disk " ${DISK}
/app/bin/fdelete.sh ${DISK}
/app/bin/fdisk.sh ${DISK}
echo 1 > /tmp/process.txt
/app/bin/format.sh ${DISK}1
echo 2 > /tmp/process.txt
/app/bin/fallocate ${DISK}1
echo 3 > /tmp/process.txt
/app/bin/setDiskVolumeName ${DISK}1 RaySharp
echo 4 > /tmp/process.txt
В общем, вот такая вот история. Помогите, пожалуйст,а со всем этим разобраться. Подскажите хоть, куда копать?