Как разобрать прошивку android img allwinner

Редактирование img прошивок

Все прошивки для планшетов на процессоре Allwinner имеют один и тот же формат img (IMAGEWTY).

После долгих поисков я все-таки нашел программу, которая позволяет разобрать и собрать прошивку для планшетов на базе Allwinner. Называется она unPacker

Перейдем непосредственно к разборке файла прошивки.

Разборка IMG файла

Для разборки потребуется:

  • Файл самой прошивки
  • Программа unPacker, которую можно скачать здесь ( Для Allwinner a31s можно использовать imgRePacker )

Скачиваем архив и распаковываем. Запускаем программу unPacker.exe

Перетаскиваем в это окно наш файл и ждем распаковки.

После окончания распаковки появится новая папка название «прошивки.img.dump»

В папке out есть файл system.fex -это файл с системными файлами(папка system) . Он то нам и нужен.

Редактирование файла system.fex

Для редактирования этого файла нужна 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, которые улучшат работу системы.

Подробнее об изменениях в файле build.prop читайте здесь

После редактирования начинаем сборку

./mkuserimg.sh -s sys/ ./factoryfs_custom.img ext4 ./temp 512M

Полученный файл factoryfs_custom переименовываем в system.fex.iso

Примечание: можно аналогично редактировать и другие файлы образов (boot и bootloader)

Источник

«Ublaze.ru» — клуб любителей

КПК и спутникового ТВ

Распаковка и запаковка img прошивок Allwinner

LiveSuit kitchen ublaze.ru for Linux — кухня под Linux для распаковки и запаковки img прошивок Android для Allwinner.

Что можно делать в кухне:

1. Разбирать/собирать прошивку.
2. Распаковка разделов nanda (bootfs), nandc (root), nandd (system), nandg (recovery).
3. Запаковка тех же разделов.
4. Конвертация script.bin в script.ini и наоборот.

Что нам потребуется:

  • Кухня — скачать можно здесь (скачать бета версию кухни)
  • 64-х (x86_64) битный дистрибутив Porteus-4.0 — русский репозиторий от Blaze, включающий в себя локализованные образы: LXDE, LXQT, OPENBOX, KDE5, CINNAMON, MATE, XFCE (для архитектур i586 и x86_64).
  • Root права — в терминале введите su и пароль toor для активации root аккаунта
  • модуль compat32-libraries-3.0-x86_64-1sl.xzm

Скачайте образ (лучше скачивайте CINNAMON, XFCE или MATE) 64-х битной версии (x86_64) дистрибутива Porteus-4.0 (UNIX система базирующаяся на Slackware, представляет собой LiveCD, USB ОС) из репозитория Blaze.

В образ Porteus можно сразу добавить модуль compat32-libraries-3.0-x86_64-1sl.xzm. Для этого откройте образ Porteus с помощью программы UltraISO зайдите в директорию /porteus/modules/. Скачайте и перетащите туда модуль compat32-libraries-3.0-x86_64-1sl.xzm. Сохраните изменения в образе. Так же, можете скачать дополнительный софт для Porteus от сюда.

С помощью UltraISO запишите образ Porteus на CD или DVD болванку (лучше записать на USB-флешку, для этого с помощью WinRar извлеките образ Porteus на флешку, зайдите в папку boot и запустите Porteus-installer-for-Windows.exe и в биосе выставите загрузку с USB). В Bios-e компьютера выставите загрузку с CD/DVD дисковода. Вставьте диск с записанным дистрибутивом Porteus. Включите компьютер, после чего должна начаться загрузка Porteus. Более подробно как установить Porteus читайте здесь.

Зайдите на локальный диск D он же /mnt/sda5 (если не активировали модуль compat32-libraries-3.0-x86_64-1sl.xzm — активируйте его в Porteus) — откройте на рабочем столе Домашнюю папку и извлеките в корень домашней папки содержимое архива livesuit_kitchen_ublaze.ru.tar.bz

Читайте также:  Как звонить по вай фаю с андроида

В распакованную папку livesuit_kitchen_ublaze.ru скопируйте прошивку и переименуйте ее в original.img

Запустите терминал Porteus и введите:

где livesuit_kitchen_ublaze.ru путь до кухни

Распаковываются разделы в папку _temp там их можно модифицировать и делать все что угодно.

Источник

Как разобрать прошивку android img allwinner

Что нам потребуется:

  • A10 flash kitchen v2 — для извлечения и создания финального образа прошивки обсуждения на XDA .
  • Заводская прошивка (необходимо найти под свой планшет) или подходящая прошивка.
  • Linux image tools — для извлечения и создания разделов образа прошивки.
  • Текстовый редактор Sublime Text 2 с поддержкой Unix line endings, не используйте Блокнот. Можно так же использовать Notepad++
  • 64-х битный дистрибутив Porteus с root правами и рабочей средой KDE4 — cобрать можно здесь
  • Модуль compat32-libraries-2.0-x86_64-1hz.xzm

Извлечение IMG файла прошивки (шаг 1 — операции в Windows)

Распакуйте a10_flash_kitchen_v2.zip, например на локальный диск D Вашего ПК.
Внутри вы найдете packer_gbи packer_ics. packer_ics предназначен для Android ICS, то что нам и нужно.

Откройте папку packer_ics и вы заметите кучу каталогов и пару .bat файлов. Мы проведем много времени в этих каталогах.

Распакуйте архив с заводской прошивкой, которую вы скачали ранее и скопируйте img файл, заранее переименовав его в original.img, в директорию D:\a10_flash_kitchen_v2\packer_ics

Появится окно командной строки Windows. Наберитесь терпения и подождите появления надписи Для продолжения нажмите любую клавишу . . . нажмите любую клавишу чтобы закрыть данное окно.

Откройте каталог _extract в данной директории будут находится все извлеченные файлы. Нас будут интересовать следующие три файла: RFSFAT16_BOOT_00000000000.fex (the boot partition), RFSFAT16_RECOVERY_0000000.fex (the recovery partition), RFSFAT16_SYSTEM_000000000.fex (the system partition, ext4 sparse).

Заметка и предупреждение. Некоторые системы могут также иметь RFSFAT16_BOOTLOADER_00000.fex, который также может потребоваться для вашего устройства, чтобы правильно его загрузить. Для этого просто переименуйте RFSFAT16_BOOTLOADER_00000.fex в bootfs.fex и затем скопируйте bootfs.fex в a10_flash_kitchen_v2\packer_ics\_input

Для разбора RFSFAT16_BOOTLOADER_00000.fex делаем следующее
Скопируйте RFSFAT16_BOOTLOADER_00000.fex в папку custom image

В консоли Porteus выполните следующие команды:


сделайте необходимые изменения в папке b2, например замените script.bin. Затем скопируйте содержимое папки b2 в _bootfs
(D:\a10_flash_kitchen_v2\packer_ics\_bootfs или /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_bootfs/ что одно и тоже)

Извлечение, модификация и создание разделов (шаг 2 — операции в Linux)

Скачайте 64-х битную версию дистрибутива Porteus.org (UNIX система базирующаяся на Slackware, представляет собой LiveCD, USB ОС).
Так как пример будет продемонстрирован в рабочей среде KDE4, желательно в сборке выбрать KDE4. В Advanced options, выберете по умолчанию пользователя Root в пункте ‘Click on the button for the user who will be logged in by default to the GUI’. Нажмите кнопку BUILD. Скачайте образ Porteus.

Можете его русифицировать и сразу добавить модуль compat32-libraries-3.0-x86_64-1sl.xzm . Для этого откройте образ Porteus с помощью программы UltraISO зайдите в директорию /porteus/modules/
Скачайте и перетащите туда модуль 0010-locales-ru-utf8-noarch-0c.xzm , а так же модуль compat32-libraries-3.0-x86_64-1sl.xzm
Так же, если Вам необходимо , можете скачать шрифты Microsoft, поместив модуль Fonts_MS_TTF-1​.xzm и другой русский софт вы можете найти здесь ( зеркало ). Сохраните изменения в образе.

Запишите образ Porteus на CD или DVD болванку (можно так же записать на флешку, с помощью UltraISO извлеките образ Porteus на флешку, зайдите в папку boot и запустите Porteus-installer-for-Windows.exe и в биосе выставите загрузку с USB) с помощью UltraISO или Nero. В Bios-e компьютера выставите загрузку с CD/DVD дисковода. Вставьте диск с записанным дистрибутивом Porteus. Включите компьютер, после чего должна начаться загрузка Porteus.

Зайдите на локальный диск D (если не активироали модуль compat32-libraries-3.0-x86_64-1sl.xzm — активируйте его в Porteus) — откройте на рабочем столе Домашнюю папку и создайте там папку custom image

В левой колонке откройте путь /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_extract/

Скопируйте файлы RFSFAT16_BOOT_00000000000.fex, RFSFAT16_RECOVERY_0000000.fex, RFSFAT16_SYSTEM_000000000.fex в папку custom image

и переименуйте эти файлы в

согласно скриншоту:

Скопируйте ранее скаченный tools.tar.gz в папку custom image

Распаковываем архив tools.tar.gz в папку custom image, должна появится папка tools

Разборка и сборка раздела Boot

Запустите консоль (Console) Porteus и введите следующие команды:

Читайте также:  Как обновить ксиоми до 11 андроида

Далее создаем поддиректорию ramdisk следующими командами:

Теперь вы можете изменять файлы по мере необходимости. Например, отредактировать файл init.sun4i.rc (в зависимости от модели планшета, в имени данного файла вместо 4, может быть 5 или 7), добавив загрузку своего модуля , строкой:

Разборка и сборка раздела Recovery

Чтобы извлечь раздел с Recovery, выполните следующие команды:

Измените файлы по мере необходимости и затем запакуйте Recovery в образ с помощью следующих команд:

Разборка и сборка System раздела

Выполните следующие команды:

По мере необходимости можете изменить, что-то добавить или удалить. Затем запакуйте System в образ с помощью следующих команд:

Теперь перейдите в папку custom image — вы увидите три новых файла new-boot.img, new-recovery.img, new-system.fex

Теперь можете запустить Windows. Скопируйте эти файлы в D:\a10_flash_kitchen_v2\packer_ics\_input (кроме тех 3 файлов, не забудьте скопировать файл bootfs.fex)

Создание нового образа прошивки (шаг 3 — операции в Windows)

Переименуйте данные файлы в

Теперь нам нужно внести некоторые изменения в файл конфигурации образа. Перейдите в каталог files и найдите файл image.cfg

Откройте этот файл с помощью текстового редактора Sublime Text 2 или Notepad++. Обычным Блокнотом можно испортить этот файл. Найдите две строки, которые ссылаются на OEM и VOEM

Закомментируйте эти строки, добавив ; в начале каждой строки. Не делайте никаких других изменений. Как только вы сделали изменения — Сохраните файл.

Перейдите обратно в каталог packer_ics и запустите бат файл create_image.bat

Когда все будет завершено, Вы уведите надпись ‘ Для продолжения нажмите любую клавишу . . .‘, нажмите любую клавишу, после чего в директории D:\a10_flash_kitchen_v2\packer_ics должен появится новый образ с именем output.img

Им можете прошить свой планшет, например с помощью LiveSuit

Распаковка и запаковка img прошивок Android для Allwinner

Если у Вас, после прошивки, не работает тач или камера, то можно воспользоваться программой DragonFace .

Так же Вам необходима прошивка, в которой вы будете редактировать Init.rc File. В DragonFace нажмите кнопку Firmware, выберете прошивку.
Зайдите в Advanced Settings — нажмите кнопку Init.rc File и пропишите или замените в открывшемся окне строку на

Сохраните изменения, нажав Да. После чего нажмите кнопку Save. Сохраните img образ. Прошейте планшет.
Прочитайте пункт — Что необходимо сделать до прошивки.
Скопируйте модуль здесь_имя_модуля.ko, который прописали в файле Init.rc в папку /vendor/modules/ с помощью Total Commander и плагина ADBplugin.

Не забываем отредактировать script.bin через DragonFace. Жмем Firmware, открываем прошивку, заходим в Advanced Settings > System configuration
редактируем что нужно, например секцию тача [ctp_para], жмем Save, прошиваем планшет отредактированной прошивкой.
Желательно иметь заводской script.bin, чтобы было из чего копировать.

Сделайте резервную копию script.bin с рабочего планшета. Для этого скачайте программу Uberizer 1.8
Описание опций Uberizer:

Важное дополнение! этот DragonFace не обновляйте, иначе прошивка при сохранении будет испорчена и после такой прошивки планшет уйдет в вечную загрузку.

Как у меня получилось отредактировать и нормально загрузить исправленную прошивку:
Запускаем дракона открываем прошивку, жмем кнопку » export» внизу, указываем куда выгрузить файлы (Выгрузит папку с нужными файлами и файл *.law со ссылкой на эту папку).

Дальше редактируем то что нам нужно (дракона не закрываем) исключительно через Nоtepad++ (остальным прошивка портится).
В распакованной папке мы увидим и сможем отредактировать в Notepad++:

Вообще вся прошивка полностью распаковывается внутри папки DragonFace , например внутри ПапкаDragonFace\fsop\system\vendor\modules\ увидим все модули (*.ko) из текущей прошивки — их можно заменить, удалить.

После всех изменений в драконе жмем кнопку » import» указываем наш файл *.law
Сохраняем прошивку кнопка » save«. При таких танцах исправленная прошивка потом нормально грузится в планшет, и тот работает

Спасибо пользователю rlest за столь подробное дополнение.

Распаковка и запаковка img прошивок Android для Allwinner

  • Для бэкапа script.bin воспользуйтесь dumpbootfs.rar после чего можно будет его перевести в script.fex и отредактировать (см. ниже пункт — Как перевести script.bin в script.fex и обратно в script.bin).
  • Для загрузки script.bin обратно в планшет воспользуйтесь lcdconfig.rar — для этого скопируйте script.bin в папку lcdconfig и два раза нажмите lcdconfig.exe
Читайте также:  Команда для сброса всех настроек для андроид

Распакуйте папку Bin2Fex например на локальный диск C вашего компьютера
Скопируйте в данную папку script.bin или script0.bin (переименуйте в script.bin)
и с помощью командной строки cmd (запускать от имени администратора) выполните команды

Распаковка и запаковка img прошивок Android для Allwinner

Распаковка и запаковка img прошивок Android для Allwinner

Распаковка и запаковка img прошивок Android для Allwinner

Распаковка и запаковка img прошивок Android для Allwinner

Распаковка и запаковка img прошивок Android для Allwinner

Пример для Windows.

Скачиваете imgRePacker_205.7z , распаковываете на локальный диск D папку imgRePacker (название строго такое), в эту же же копируете IMG прошивку.
Запускаете от имени Администратора командную строку cmd и вводите следующие команды:

После чего прошивка должна распаковаться в папку imgRePacker

Для запаковки прошивки:

Назначение:
Распаковка для внесения изменений и последующей запаковки образов прошивок формата LiveSuit и PhoenixSuit (утилиты для прошивки устройств на чипах от Allwinner и их аналогов).
Изначально утилита создавалась для устройств на чипах SC9800/8600; по функционалу повторяет набор утилит SoChip Modding Tools от китайского коллеги esxgx с дополнениями (заменами) от RedScorpio и расширяет его возможности.

Отличия (они же преимущества):
— утилита All-in-one;
— автоматическое определение формата образа прошивки (LiveSuit/PhoenixSuit);
— автоматическое распознание структуры прошивки для определения порядка действий;
— создание блока [FILELIST] файла конфигурации *.cfg (возможно использование в упаковщике от производителя dragon);
— автоматическое извлечение образов дисков (условие: zdisk или описан в блоке [down_num] файла sys_config.fex);
— восстанавливаются (и используются при упаковке) все исходные файлы прошивки;
— существенно меньше;
— заметно производительнее.

Поддерживаются прошивки устройств на чипсетах (известные мне):
— Sochip SC8600/SC9800 (LiveSuit/zdisk);
— Boxchip F10/F15/F16/F20 (LiveSuit/zdisk);
— Teclast T7200/T8100 (LiveSuit/zdisk);
— Allwinner F10/F13/F18 (LiveSuit/zdisk);
— Allwinner F1C100/F1E200 (LiveSuit);
— Allwinner A10/A13/A10s (LiveSuit);
— Allwinner A31 (PhoenixSuit).

Использование:
» imgRePacker.exe [options] .img» — распаковка (Windows)
» imgRePacker.exe [options] .img.dump» — запаковка (Windows)
» ./imgrepacker [options] .img» — распаковка (Linux)
» ./imgrepacker [options] .img.dump» — запаковка (Linux)

Опции (в скобках указано имя в ini-файла и значение по умолчанию):
/log — создавать log-файл (log = 0);
/debug — писать отладочную информацию, работает только с опцией /log (debug = 0);
/quiet — отключить вывод в консоль (quiet = 0);
/old — использовать модифицированный старый метод распаковки/запаковки (old = 0);
Примечание:
В новом методе (используется с версии 2.00win/1.00lin) распаковка/запаковка идет полностью в памяти. Это позволило уменьшить количество операций чтения/записей на HDD, но привело к невозможности работать с прошивками большого размера (ограничения по выделению памяти отдельному процессу).
Модифицированный старый метод уменьшает количество потребляемой памяти, но увеличивает количество операций ввода/вывода.
Режимы переключаются автоматически при превышению размера образа прошивки значения memsize в ini-файле (по умолчанию = 200МБайт; максимальное значение 2ГБайта — 1Байт).
/noiso — не формировать при распаковке/не использовать при запаковке образы файловых систем прошивки (noiso = 0);
/unimg — режим совместимости с утилитой unimg — формируются RAW-файлы прошивки (unimg = 0);
/8600 — запаковывать в формате старых прошивку SC8600 — не используется файл конфигурации, другие параметры для формирования ZDisk (8600 = 0);
/smt — zdisk.img запаковывался с использованием SMT — некорректный размер файла в заголовке; используется при распаковке (smt = 0);
/latin — заменять нелатинские символы в путях к файлам прошивки; используется при распаковке (latin = 0);
/skip — пропустить проверку размера файла образа прошивки; используется при распаковке (skip = 0);
/mono — включить монохромный режим (mono = 0);
/ini — перезаписать ini-file с опциями из командной строки ();
Примечание:
Опции командной строки всегда имеют приоритет выше, чем заданные ini-файлом.

Состав архива:
1. imgRePacker.exe — Windows-версия.
2. imgrepacker — Linux-версия.
3. runner.bat — командный файл для распаковки образов прошивок SoChip SC9800/8600 и их аналогов (BoxChip, Teclast) от losber (требует установки UltraISO).
4. lzma.exe — архиватор LZMA.
5. ReadMe.txt — этот файл.

ВНИМАНИЕ. Для распаковки и упаковки прошивок, имеющих в своем составе ZDisk (например, SC9800), требуется утилита LZMA (для Windows-версии imgRePacker; имеется в архиве) или XZ (для Linux-версии imgrepacker; должна быть предустановлена в системе).

Источник

Оцените статью