Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽
8 (495) 414 13 47
Время работы:
Пн-Вс 10-20

Сброс пароля в IP камере Xiongmaitech (XMEYE)

Сброс пароля в IP камере Xiongmaitech (XMEYE)

Ханчжоу Xiongmai Technology Co., Ltd китайская компания является ведущими мировыми поставщиками продуктов и технологий для видеонаблюдения. На рынке представлено множество независимых брендов с собственными товарным знаком использующих оборудование компании XM и как следствие аналогичные базовые прошивки, поэтому рассмотренные методы будут применимы ко многим устройствам представленным на рынке видеонаблюдения. Сброс пароля в IP камере:

Некоторые IP камеры имеют кнопку сброса, просто нажмите кнопку сброса в течение 5-10 секунд, камера автоматически сбросится на заводские настройки.

Для IP камер, не имеющих кнопки сброса, вы можете использовать утилиту для сброса IP камеры к заводским установкам.

Подключаемся к UART интерфейсу:

Управление загрузчиком производится из консоли командами, которые подаются через специальный отладочный интерфейс — UART. В качестве консоли (терминала) удобнее использовать Putty .
Чтобы иметь возможность ввода команд из терминала, нам понадобится USB-UART преобразователь.

Далее скачиваем и устанавливаем драйвера

Откройте диспетчер устройств в Windows, нажмите> «Порты (COM и LPT)», и вы увидите какой COM порт использует ваш адаптер

Скачиваем и устанавливаем терминальную программу; я использую PuTTY. В настройках программы выбираем последовательный порт (Serial), указываем номер порта (Serial Line), соответствующий адаптеру USB-UART, указываем скорость обмена (Speed) 115200

4CQWYZDm.jpg

6OCMaLDm.jpg

и нажимаем кнопку «Открыть» (Open).

Для подключения соединяем минусовой («земляной») провод устройства с общим (GND) проводом преобразователя, RX устройства соединяем с TX преобразователя, а RX, соответственно, с TX.

Вам может понадобиться мультитестер, чтобы определить распиновку или посмотреть, действительно ли это последовательное соединение TTL. Это довольно просто — обычно один из контактов должен быть под напряжением +3.3 вольта , а другой — является общим, а оставшиеся два имеют напряжение около +3 вольта, при включении питания на одном из контактов происходит быстрое изменение напряжения — этот контакт TX, соответственно последний из контактов RX. Бывает для вывода UART интерфейса используют три или два контакта, без выхода питания и общего провода (GND) соответственно.

После открытия окна терминала подаем питание на камеру, если все сделано правильно, то в окне мы увидим вывод отладочной информации о ходе загрузки. В противном случае необходимо проверить параметры порта и подключение сигнальных линий Rx/Tx адаптера USB-UART к отладочному интерфейсу (поменять их местами).

putty-printenv-small.jpg

В процессе загрузки, на экране мелькнёт приглашение Press Ctrl+C to stop autoboot. Нужно поймать этот момент и нажать комбинацию клавиш Ctrl+C, чтобы не пропустить этот момент рекомендую нажать и удерживать Ctrl+C до включения устройства, в результате чего загрузка прерывается и мы попадаем в командный интерфейс.
Для вывода  на экран переменных окружения загрузчика, вводим команду printenv.

Нас интересуют два параметра:
ipaddr=192.168.1.10 — IP адрес устройства
serverip=192.168.1.107 — IP адрес нашего компьютера
их можно изменить командой setenv или подставить компьютеру IP адрес из serverip, действительно до перезагрузки.

Сброс пароля

Внимательно изучаем вывод команды printenv, обратив внимание на содержимое переменной bootargs
В нашем примере это будет вывод от камеры 00018510
bootargs=mem=39M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
Запускаем калькулятор Windows, переводим его в режим программиста и начинаем подсчёт. Для этого переключаем калькулятор в режим dec, переводим мегабайты и килобайты в байты (килобайты умножаем на 1024, а мегабайты — на 1048576), складываем полученные значение и переключаем калькулятор в режим hex.
Получаем следующие таблички:

Размеры mtd разделов
320K(boot) 327680 50000h
3520K(romfs) 3604480 370000h
2560K(user) 2621440 280000h
1152K(web) 1179648 120000h
320K(custom) 327680 50000h
320K(mtd) 327680 50000h

Адреса mtd разделов
0x000000-0x050000 : "boot"
0x050000-0x3c0000 : "romfs"
0x3c0000-0x640000 : "user"
0x640000-0x760000 : "web"
0x760000-0x7b0000 : "custom"
0x7b0000-0x800000 : "mtd"

Из таблицы нас интересует последний раздел — mtd. Как видно из bootargs, его размер 320кб, что составляет 50000h в шестнадцатеричной системе, а начальный адрес — 0x7b0000.
Здесь хранятся настройки устройства, и, самое важное, пароли пользователей. Если его стереть, то система пересоздаст этот раздел заново с настройками по умолчанию, и, соответственно, с пустыми паролями.

даём следующие команды:
sf probe 0
sf erase 0x7b0000 0x50000

putty-erase-small.jpg

В новых прошивках появилась защита флешки от записи, поэтому сразу после sf probe 0 нужно давать ещё команду sf lock 0, чтобы снять защиту.

Внимательный читатель может обратить внимание, что раздел mtd последний, и для его вычисления достаточно вычесть размер mtd 0x50000 из размера флешки 0x800000, получим те же 0x7b0000. Так даже проще, если нас интересует только один раздел.

Примечание, показанные в примере адреса расположения mtd разделов действительны для конкретной модели оборудования. Использование неверных значений обязательно приведёт к сбою в работе вашего устройства!

После сброса пароля выполните команду reset и дождитесь загрузки устройства, вход в веб интерфейс выполните под логином admin пароль не вводим, пустой.

TFTP сервер

Для восстановления или смены прошивки средствами загрузчика, понадобится ещё одна программа — TFTP сервер, я рекомендую tftpd32.

tftpd32-395x330.jpg

Устанавливаете его и настраиваете согласно картинке.

tftpd32-settings.jpg

Восстановление

Теперь понадобится файл прошивки под наше устройство. Версию прошивки можно узнать из окошка Info, в веб интерфейсе или я могу подсказать ответив в комментариях к статье.
Скачиваем прошивку, открываем архиватором и извлекаем все файлы в папку tftp сервера.

Вводим и выполняем в консоли следующие команды:
run dc
run du
run dr
run dw

После чего перезагружаем командой reset.

firmware-unpacked-small.jpg

Если файлы не грузятся с tftp сервера (в консоли циклические попытки), то скорее всего мешает брандмауэр Windows — отключите его или добавьте tftpd32 в исключения.

13.03.2023

Возврат к списку

Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽