Практически у каждого пользователя android смартфона появлялось желание создать или отредактировать прошивку под свои нужды и желания. В данной статье мы и рассмотрим принцип редактирования прошивки для CWM (в zip формате).
В первую очередь необходимо определиться какую прошивку будем брать за основу. Лучше использовать офф. прошивку в зипе. Почти для каждого распространённого девайса существует чистая прошивка + root.
Когда прошивка выбрана её необходимо скачать в любое удобное вам место на ПК (распаковывать не стоит).
Также нам потребуется архиватор, советую использовать 7zip
и лучший в своём роде текстовый редактор Notepad++
.
Открывая архив с прошивкой вы видите следующее:
META-INF
- в папке хранятся скрипты установки прошивки.
system
- папка со всеми файлами прошивки (приложения, твики, скрипты и т.д.).
boot.img
- ядро системы.
Практически все манипуляции проводятся в папке system
, её структура:
app
- системные приложения.
bin
- ресурсы самой системы.
etc
- Скрипты, твики, конфиги, профили и настройки системы.
fonts
- Системные шрифты.
framework
- здесь хранятся главные файлы системы (графика, настройки текста анимации и т.д).
lib
- библиотеки системы.
media
- файлы мультимедиа (мелодии уведомлений, анимация загрузки, обои и т.д).
usr
- настройки не изменяемые в дальнейшем системой (работают в режиме "только чтение").
xbin
- опять же системные конфиги и прочие твики.
build.prop
- инфа о системе, настройки локали и производительности системы.
Перед тем как добавлять/удалять софт в систему, необходимо проверить деодексирована ли ваша прошивка (то есть проверить наличие файлов.odex в папке app. Если файлы есть, то необходимо от них избавиться вот по этой инструкции
.
Добавляем софт в прошивку:
Прежде всего необходимо установить себе в смарт те программы которые вы хотите добавить в сборку. После установки достаём их из системы при помощи Root Exporer
и его аналогов, находятся они по пути data/app
, так же нам понадобятся их либы (если они конечно есть) они находятся по пути data/data
. Находятся они в одноимённой приложению папке и имеют расширение .so
. Затем изъятые .apk
файлы кладем в архив по пути system/app
и файлы с расширением .so
(lib"ы) по пути system/lib
.
Удаляем софт из прошивки:
Тут всё просто, заходим в папку app
- определяемся что нам не нужно и удаляем весь ненужный софт (систему лучше не трогать).
Копируем файл build.prop на рабочий стол. Открываем его блокнотом и находим строчки:
ro.product.locale.language=en
ro.product.locale.region=US
для русского языка необходимо сделать так:
ro.product.locale.language=ru
ro.product.locale.region=RU
название своего мода вписываем в строку
в том же build.prop
Вся графическая часть прошивки хранится в двух файлах framework-res.apk путь к файлу systemframework и SystemUI.apk по пути systemapp . А графическая часть приложения настройки хранится естественно в приложении Settings.apk .
Большая часть настроек проводится в файле build.prop , по этому поводу можно прочитать . Так же если ваше ядро поддерживает init.d есть ряд скриптов для оптимизации системы, один из них описан в этой статье (оптимизация оперативной памяти) и в данной статье Скрипты-твики для init.d
Как выше излагалось все шрифты содержаться в папке fonts , основные шрифты это: DroidSans.ttf и DroidSans-Bold.ttf их можно заменить любыми шрифтами переименовав их аналогично вышеуказанным и переместить с заменой в архив с прошивкой в папку fonts .
Теоретически достаточно заменить boot.img своим, но в некоторых случаях Ядра сопровождаются дополнительными скриптами. По этому советую ничего не делать если есть какие либо сомнения.
Существует несколько способов того, чем открыть bin файл, и в данном материале эти программы представлены в формате ТОП 5.
Бывают самые разнообразные типы таких файлов, имеющие в себе разное содержимое.
Например, в системных папках компьютера могут найтись десятки документов с таким разрешением.
Что же это за формат. Говоря коротко, такое сочетание букв – это начало слова «binary». Это говорит о том, что все данные в таком файле сохранены в двоичном формате. И это все, то есть такой тип документа совершенно ничего не говорит о его содержимом, ведь оно может быть самым разным.
Такие документы не несут никакого самостоятельного значения. В общем случае – это дополнительный программный инструмент, необходимый для выполнения той или иной команды на устройстве. Эти материалы не рассчитаны на какие-либо изменения и даже просмотр (по крайней мере, рядовым пользователем, а не разработчиком программы).
На современных компьютерах, чаще всего, файлы такого формата относятся к одному из следующих типов:
Так как типы данных с этим расширением очень разнообразны, то и открывать их нужно различными методами.
<Рис.1 Файл>
В большинстве случаев, открывать такие файлы бессмысленно или даже опасно. Они не несут в себе специфической информации (за исключением случая с образами видеофайлов), а только вспомогательные данные в форме кодов и ключей. Это содержимое зависит от того, для чего предназначался документ, в какой программе и он был создан и многого другого.
Потому, если вы не являетесь разработчиком, то вносить изменения в такие файлы нельзя. Это приведет к полному нарушению функционирования программы, для которой он был создан, так как нарушить порядок выполнения в ней операций. Также, данные содержащиеся в bin, ничего не скажут рядовому пользователю об особенностях программы или игры.
Как было сказано выше, это зависит от того, о каком типе файлов идет речь. Онлайн-ресурсов для этого в настоящее время не разработано. Кроме того, в Windows нет базовых утилит для открытия таких документов, а значит, для открытия их придется скачивать и устанавливать дополнительный софт.
Как не странно, но открыть такой документ иногда помогает простой Блокнот. Он является, по сути, универсальным способом открыть практически любые данные в текстовом формате. Для того чтобы проделать это, следуйте алгоритму:
Большим преимуществом такого способа является то, что не требуется скачивать никаких дополнительных программ. Ведь Блокнот есть изначально на каждом компьютере.
Недостаток же способа в том, что он работает далеко не всегда и не со всеми типами bin. Он бывает эффективен лишь примерно в 20% случаев.
<Рис. 2 Блокнот>
Вообще, подойдет любая программа, связанная с записью дисков и работой с образами. В этом топе мы указываем именно Nero, так как в настоящее время она является наиболее популярной в данном сегменте. Идеально подходит в случае, когда bin является видеофайлом.
Как же определить, что bin – это образ DVD-диска? Руководствоваться здесь нужно его размером. Большие и очень большие по объему файлы, чаще всего, являются файлами образов.
Nero – хорошая, функциональная программа, которая реализуется бесплатно. Она работает со множеством «сложных» форматов данных. Софт постоянно обновляется, выходят новые версии, что позволяет ему более или менее стабильно работать с разными форматами.
Чтобы открыть файл, проделайте следующее:
Тем не менее, данный способ все равно не является универсальным. Программа иногда дает сбои и не может открывать некоторые типы bin.
<Рис. 3 Nero>
Этот больше всего подходит для игровых bin. То есть, если обнаружились такие данные в диске с игрой или в папке с ней, то открывать их лучше через этот софт. Программа имеет бесплатный пробный период с практически неограниченным функционалом и стабильно работает.
Для того чтобы открыть bin, проделайте следующий алгоритм действий:
При необходимости, вы можете не только ознакомиться с ним, но и внести изменения.
Программа работает гораздо стабильнее всех, перечисленных выше. Она поддерживает bin многих типов и позволяет корректно отображать их содержимое.
<Рис. 4 Daemon Tools>
Отличается от предыдущих программ топа наиболее стабильной работой. Кроме того, способна отображать содержимое большего числа типов bin. Благодаря постоянным обновлениям, работает стабильно и не дает сбоев почти никогда.
Кроме того, она не требовательна к ресурсам компьютера, не создает значительной нагрузки на «железо». Распространяется бесплатно и имеется во многих видах, для разных версий программного обеспечения компьютера.
Принцип работы в этой программе похож на все остальные:
Хотя принцип работы такой программы не отличается от предыдущих, ее скачать предпочтительнее. Так как она работает почти с любыми типами bin.
<Рис. 5 UltraISO>
Под оригинальным софтом в данном случае понимается та программа, для которой был разработан файл. Если речь идет о небольшом bin, появившемся после подключения к ПК телефона или фотоаппарата, то речь идет о файле драйвера.
В этом случае открыть его можно с помощью программного обеспечения, идущего в комплекте с подключенным устройством.
<Рис. 6 Оригинальный софт>
Если вы не знаете, чем открыть bin файл, то шансов узнать это не так уж и много. Если в файле bin при просмотре текстовым редактором не удалось прочитать название программы, для которой он предназначен, то придется перепробовать их все. Корректно открыть bin файл может только программа, для которой он предназначен. Файл bin формата может быть просто файлом с любыми данными, прошивкой BIOS, архивом игры или даже образом диска.
21 февраля 2014 в 22:39Прошивка оказалась старая, ещё июньская. Раздобыл несколько свежих прошивок и попробовал. Некоторые оказались глючными, но одна заработала нормально.
Возникла другая проблема - изменился пароль по умолчанию для telnet подключения. Этого я не стерпел и стал искать способы вернуть его обратно.
Сразу предупрежу, что данный способ опробован на видеорегистраторах и камерах на чипах HiSilicon, но должен сработать и с другой платформой, так как китайцы широко используют загрузчик U-boot.
Теперь небольшое пояснение: образ.img из данной прошивки является несколько изменённым образом файловой системы cramfs. Вот можно почитать поподробнее. Чтобы привести образ к нормальному виду, нужно отрезать 64 байта заголовка.
root@xc:~/firmware# dd bs=1 skip=64 if=logo-x.cramfs.img of=logo-x.cramfs
262080+0 записей получено
262080+0 записей отправлено
скопировано 262080 байт (262 kB), 0,891322 c, 294 kB/c
Для остальных файлов команды аналогичные.
Смотрим, что получилось:
root@xc:~/firmware# file logo-x.cramfs
logo-x.cramfs: Linux Compressed ROM File System data, little endian size 28672 version #2 sorted_dirs CRC 0xe29e6340, edition 0, 199 blocks, 2 files
Уже похоже на cramfs. Для работы с образами cramfs установим или обновим соответствующий пакет:
root@xc:~/firmware# apt-get install cramfsprogs
Распаковываем образы:
root@xc:~/firmware# cramfsck -x logo logo-x.cramfs
root@xc:~/firmware# cramfsck -x user user.cramfs
root@xc:~/firmware# cramfsck -x romfs romfs-x.cramfs
root@xc:~/firmware# cramfsck -x web web-x.cramfs
root@xc:~/firmware# cramfsck -x custom custom-x.cramfs
Каталоги я не создаю, они создадутся автоматически.
Загрузчик так не распаковать, это не образ cramfs, но его и не надо трогать.
Для тех кто хочет начать путь в создание собственных прошивок для Sony на основе официальных необходимо знать как распаковать прошивку Sony формата FTF.
1. Компьютер
2. Скачать последнюю версию не официального прошивальщика FlashTool и установить
3. Скачать менеджер Unix образов ext2explore.exe
3. Скачать и установить бесплатный архиватор 7-zip
4. Прошивка Sony формата FTF
1. Правым кликом мыши по FTF прошивке — открыть архив или распаковать из архива
2. После того как установили FlashTool перейдите по пути C:Flashtool
3. Запустить программу FlashTool и в панели выбрать меню Tools
-> Sin Editor
4. Выберите извлеченный из прошивки ftf, файл sin в Sin Editor и нажать Extract data. После этого начнется процесс преобразования файла прошивки в читаемый вид.
5. На выходе вы можете получить новый файл с расширением yassf2
или ext4
или elf
Выбрать Tools -> Yaffs2, после чего появится окно для выбора файла, выбрать файл с расширением *.yasff2
Через пару минут вы получите папку с файлами которые находились в прошивке
1. Если у вас файл с расширением *.elf
, то переименовать в *.ext4
2. Запустить ранее скачанную программу ext2explore, выбрать файл прошивки после чего появится в окне содержимое прошивки, теперь можете сохранить содержимое.
Если вы планируете в дальнейшем создать прошиваемый update.zip, то стоит перейти к статье — создание Updater Script
Для того того чтобы получить «правильное» ядро для прошивки с помощью update.zip потребуется все тот же Flashtool.
1. Откройте FTF прошивку архиватором и извлеките kernel.sin
Все прошивки для планшетов на процессоре Allwinner имеют один и тот же формат img (IMAGEWTY).
После долгих поисков я все-таки нашел программу, которая позволяет разобрать и собрать прошивку для планшетов на базе Allwinner. Называется она unPacker
Перейдем непосредственно к разборке файла прошивки.
Разборка IMG файла
Для разборки потребуется:
Скачиваем архив и распаковываем. Запускаем программу unPacker.exe
Перетаскиваем в это окно наш файл и ждем распаковки.
После окончания распаковки появится новая папка название «прошивки.img.dump»
В папке out есть файл system.fex -это файл с системными файлами(папка system) . Он то нам и нужен.
Для редактирования этого файла нужна nix система и утилита для конвертации, которую можно скачать
Создаем в домашней директории папку в которой будем редактировать нашу прошивку. Назовем ее например NEW. Теперь распаковываем файлы из архива ext4_utils.zip в папку NEW. Запускаем терминал и набираем
Программа скомпилируется и мы получим инструмент для редактирования Sim2img. Теперь кладем в папку NEW наш файл system.fex и переименовываем его в sytsem.img
Вводим в терминале
./simg2img system.img output.img
Теперь у нас есть файл output.img . Теперь создаем папку например с названием sys
И монтируем туда наш файл output
sudo mount output.img sys
Теперь в папке sys находятся файлы, которые можно редактировать. Например можно внести изменения в файл build.prop, которые улучшат работу системы.
После редактирования начинаем сборку
./mkuserimg.sh -s sys/ ./factoryfs_custom.img ext4 ./temp 512M
Полученный файл factoryfs_custom переименовываем в system.fex.iso
примечание: можно аналогично редактировать и другие файлы образов (boot и bootloader)
Теперь что бы собрать отредактированные файлы в необходимый для прошивки формат, нужно файл system.fex.iso поместить с заменой в папку (на Windows) _iso и перетащить папку