Понедельник, 18.08.2025, 01:19
Приветствую Вас Гость | RSS
Главная | Прошивка маршрутизатора DIR615 | Регистрация | Вход
Меню сайта
Поиск
Вход на сайт
Календарь
«  Август 2025  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Друзья сайта
MisterGemix

<На главную>

Модификация прошивки DIR-615K1

В моём распоряжении была прошивка версии 1.06. На более поздних прошивках не проверял.

Статья касается распаковки содержимого прошивки маршрутизатора DIR-615K1 c целью модификации её содержимого, дабы этот гнусный девайс стал более юзабельным smile В частности моей целью было помещение внутрь прошивки некоторого скрипта, выполняемого при включении маршрутизатора (при загрузки UNIX-подобной оси установленной в нём). Расчитанна она на пользователя знакомого с терминалом операционных систем Linux.

Для работы понадобится Linux. В моём распоряжении была Kubuntu 12.10.

Далее понадобится установить программу firmware_mod_kit (скрипт с командами).

Далее переходим в папку со скриптами программы:

cd firmware_mod_kit/firmware-mod-kit-read-only/

В ней находится скрипт распаковывающий прошивку. Вообще то их два. У меня заработал скрипт extract-ng.sh. Помещаем прошивку в папку со скриптом. Пусть файл прошивки называется firmware.bin Тогда для её распаковки выполняем команду:

sudo ./extract-ng.sh firmware.bin dir615k1/

Содержимое прошивки распакуется в папку dir615k1. А в папке dir615k1/rootfs будет распакованое содержимое файловой системы. Для изменения содержимого этой папки понадобятся права root.

Забегу вперёд. При обратной запаковке прошивки в случае если размер файловой системы будет превышать начальный, то скрипт-запаковщик прекратит свою работу, прошивка не запакуется. Поэтому необходимо освободить место в файловой системе. Например можно удалить содержимое папок flags, icons, notifiers, tabs_simple находящихся в rootfs/webs/www/image. Там находятся файлы изображений, которые не так уж важны для работы прошивки.

Далее переходим к папке rootfs/bin. В ней есть файл wps_monitor. О назначении файла думаю можно догадаться по его названию. На мой взгляд WPS это не самая необходимая в маршрутизаторе функция, поэтому принесу её в жертву своим целям. Переименовываем файл wps_monitor не важно как. Вместо него создаём символическую ссылку с таким же названием wps_monitor. Ссылка пусть указывает на файл /root/autorun.sh. Это и будет тот самый скрипт, выполняемый при старте маршрутизатора. Создаём этот файл в папке rootfs/root/. Не забываем в его свойствах разрешить выполнять этот скрипт как программу с правами root. Признаю что это решение не самое удачное. Для нормальной работы скрипта мне понадобилось внести задержку на выполнение написанных в нём команд. То есть в его начало добавить строки:

#! /bin/sh
sleep 20

С содержимым данного файла, то есть с выполняемыми им командами пусть каждый определяется самостоятельно. Можно запустить демон crond, можно применить свои правила к iptables, можно проверять наличие соединения с интернетом и переподключать его.

Для запаковки прошивки понадобится скрипт build-ng.sh. Его придётся немного подредактировать. Если это не сделать то маршрутизатор откажется работать с новой прошивкой. Находим в нём строки:

# Increasing the block size minimizes the resulting image size. Max block size of 1MB.
        if [ "$NEXT_PARAM" == "-min" ]
        then
            BS="-b $((1024*1024))"
        else
            BS=""
        fi

Этот участок скрипта приводит размер блока прошивки к 1 MB в случае если скрипт выполняется с параметром -min. Нам необходимо запаковать прошивку с размером блока 65536 байт. Поэтому заменяем 1024*1024 на 65536. С таким размером блока модифицированная прошивка будет работать. И далее будем выполнять этот скрипт с параметром -min. Сохраняем файл. Переходим в папку со скриптом:

cd firmware_mod_kit/firmware-mod-kit-read-only/

Запаковываем прошивку:

sudo ./build-ng.sh dir615k1/ -min

Теперь прошивка будет запакована с нужным размером блока и поместится в папку dir615k1.

Для автоматического запуска скрипта на странице Wi-Fi/WPS вэб интерфейса поставить галку на включение функции WPS. Далее сохранить изменения и перезагрузить маршрутизатор.

<На заглавную страницу сайта>

Создать бесплатный сайт с uCozCopyright MyCorp © 2025