devCfg.bin
четверг, 25 декабря 2014 г.
Добавление английского языка на примере DS-7108N-SN
Взято с http://diyservice.blogspot.ru/2014/12/hikvision-ds-7108n-sn.html
1. Заходим в Web-интерфейс регистратора и в меню «Network-settings – Advanced» включаем доступ по Telnet.
7. Распакуйте архив app.tar.lzma
Gawk for Windows http://gnuwin32.sourceforge.net/packages/gawk.htm
awk "{ if ( /_cap0=/ ) {print $0; gsub(/_cap0=/, \"_cap1=\", $0); print $0} else {if (! /_cap1=/ ) print $0 } }" 1024x768.cfg >> 1024x768x1.cfg
awk "{ if ( /_lang0=/ ) {print $0; gsub(/_lang0=/, \"_lang0=\", $0); print $0} else {if (! /_lang0=/ ) print $0 } }" 1024x768x1.cfg >> 1024x768x2.cfg
Создаем архив tar:
Места на разделе mtdblock1 мало, поэтому будем писать в память:
Далее, проверим на всякий случай, что архив будет распаковываться:
Сегодня я расскажу, как у китайской версии сетевого видеорегистратора (NVR) модельHikVision DS-7108N-SN переделать язык оболочки на английский.
Этот регистратор я приобрел на аукционе ТаоБао по достаточно демократичной цене. После подключения оказалось, что Web-интерфейс доступен на английском языке, однако оболочка представлена только на китайском и нигде нет возможности выбора языка.
Поиск прошивок в интернете не дал никаких результатов.
Поэтому я решил попробовать сделать все самостоятельно. Все прошло успешно, а процедурой «декитаезации» я с удовольствием поделюсь с вами!
Сразу скажу, что процедура в некотором плане опасна, есть вполне реальная вероятность получить на выходе нерабочее устройство. Поэтому за возможные проблемы, никакой ответственности я не несу, физически помочь восстановить не смогу. Все что вы делаете, вы делаете на свой страх и риск и должны осознавать возможные последствия!
Итак, версия моей прошивки с завода: V3.0.7 build 140725
Итак, версия моей прошивки с завода: V3.0.7 build 140725
Версия регистратора: HikVision DS-7108N-SN
Вам потребуется:
- Машина с любой ОС Linux или Windows
- Установленный на ней TFTP Сервер (я использовал tftpd-hpa);
2. Заходим через Telnet на регистратор. Имя пользователя root (не admin), пароль по-умолчанию «12345».
3. В домашней папке /home вы увидите app и hik. Как видно на скриншоте ниже, hik примонтирован к mtdblock1, а app – tmpfs в ОЗУ.
4. Зайдите в /home/hik. Нас тут интересуют два файла — это загрузочный скрипт (start.sh) и архив app.tar.lzma, сжатый lzma, где хранятся текстуры кнопок и конфигурационный файл с языками.
5. На самом регистраторе нет нужных утилит для редактирования, поэтому проще всего перекинуть файлы через TFTP на «большой» компьютер.
tftp -p -l start.sh YOUR-TFTP-SERVER
tftp -p -l app.tar.lzma YOUR-TFTP-SERVER
6. На компьютере открываем скрипт start.sh и добавляем в начало строчку для запуска демона Telnet. Это необходимо для случая, если после наших манипуляций оболочка регистратора не загрузится, то мы все равно будем иметь доступ через Telnet.
Добавляем[ -e /usr/sbin/telnetd ] && /usr/sbin/telnetd 32
7. Распакуйте архив app.tar.lzma
8. В папке config вы увидите файл конфигурации 1024x768.cfg
Полистайте файл, обратите внимание, что в нем, помимо китайского, уже присутствует английский язык.
Как видите в строчках, заканчивающихся на _cap0 хранится английская версия, а в строчке _cap1 – китайская.
Не мудрствуя лукаво, чтобы не искать, где же задается текущий язык, я решил просто закопировать английскую строку на китайскую.
Подобных строк там тысячи, поэтому вручную изменять их было бы глупо, а я не сумасшедший, поэтому воспользуемся AWK.
awk '{ if ( /_cap0=/ ) {print $0; gsub("_cap0=", "_cap1="); print $0} else { if (! /_cap1=/ ) print $0 } }' 1024x768.cfg >> test.cfg
Логика проста: производится поиск строк и...
Если строка содержит cap0, то она дублируется с подменой cap0 на cap1
Если строка содержит cap1, то эта строка удаляется из файла
Все остальные строки остаются без изменений.
Для Windows
awk "{ if ( /_cap0=/ ) {print $0; gsub(/_cap0=/, \"_cap1=\", $0); print $0} else {if (! /_cap1=/ ) print $0 } }" 1024x768.cfg >> 1024x768x1.cfg
awk "{ if ( /_lang0=/ ) {print $0; gsub(/_lang0=/, \"_lang0=\", $0); print $0} else {if (! /_lang0=/ ) print $0 } }" 1024x768x1.cfg >> 1024x768x2.cfg
Собственно все. Теперь надо запаковать все в архив и закинуть обратно на регистратор.
Обратите внимание, что для сжатия используется первая версия LZMA 1.
Да, еще хочу заметить, как безобразно заданы права и владельцы у файлов регистратора. Практически у всех файлов доступ 777! Я пока не стал экспериментировать что, да как, поэтому просто задал такие же права у файлов.
В корне распакованного app.tar.lzma выполняем
find . | sudo xargs chmod 777find . | sudo xargs chown nobody:nogroup
Создаем архив tar:
tar -cpvf ~/app.tar `ls`Тоже меняем права и владельца:
chmod 777 ~/app.tarСжимаем архив lzma
chown nobody:nogroup ~/app.tar
lzma -6 < ~/app.tar > ~/app.tar.lzmaили так
lzma --lzma1 -z -c ~/app.tar >> ~/app.tar.lzma8. Снова заходим через Telnet на регистратор и закидываем файлы обратно
Места на разделе mtdblock1 мало, поэтому будем писать в память:
cd /home/app/mkdir testcd test
tftp -g -r app.tar.lzma YOUR_TFTP_SERVER
Далее, проверим на всякий случай, что архив будет распаковываться:
Если все успешно, подменяем файл:/bin/tar xaf /home/app/test/app.tar.lzma -C /home/app/test
Думаю, что менять права на 777 не требуется, но так было с завода, поэтому делаем так же.rm /home/hik/app.tar.lzmamv /home/app/test/app.tar.lzma /home/hikchmod 777 /home/hik/app.tar.lzma
Не забываем заменить скрипт start.sh. Думаю, вы это сделаете самостоятельно.
Все, перезагружаем регистратор. Радуемся английскому языку!
Спасибо за внимание!
воскресенье, 21 декабря 2014 г.
Доступ к ftp hikvision
login: Product_RUS
password: p4WWxuhf
login: hikfirmware
password: Hikvision123Неофициальные ftp сервера
ftp://Hikcustomer:welcome@125.99.126.50
Подписаться на:
Сообщения (Atom)