Multi Image Kitchen | Программа редактирования образов Android под WINDOWS



Реп: (725)
Multi Image Kitchen (MIK)
Версия: 4.0β‎

Последнее обновление программы в шапке: 15.11.2023

Прикрепленное изображение

Скриншоты
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение


Краткое описание:
Программа распаковки и упаковки Android образов разделов, прошивок SoC Amlogic, Rockchip и Allwinner в среде Windows (x86\x64)

Описание:
Возможности:
  • Распаковка и упаковка разделов: system, vendor, product, odm, socko, elable (raw, sparse)
  • Распаковка и упаковка разделов с расширением: *.img; *.fex; *.PARTITION; *.new.dat; *.new.dat.br; *.lz4; *.ext4; *.tar ; *.md5
  • Распаковка и упаковка раздела логотипов: logo.img, logo.PARTITION
  • Распаковка и упаковка раздела: _aml_dtb.PARTITION (single, multi, multi/gzipped)
  • Извлечение из файла payload.bin образов разделов (Full OTA)
  • Извлечение из файла super.img образов разделов
  • Распаковка и упаковка раздела ресурсов: resource.img
  • Распаковка и упаковка прошивок SoC Amlogic, Rockchip и Allwinner
  • Распаковка и сборка пакета обновлений: *.zip (Update.zip)
  • Декомпиляции и компиляции приложений (*.apk)
Плюсы:
  • Программа бесплатна для некоммерческого использования
  • Портативная версия. Не требуется установку в систему, не оставляет следов работы в реестре.
  • Программа многопоточна и при выполнении действий, интерфейс отзывчив
  • Простота в управлении и минимум действий со стороны пользователя
  • Авто определение желаемого действия, на основе анализа файлов
  • Автоопределение типа раздела: raw или sparse
  • Пакетная обработка и отложенные задания
  • Выполнения после распаковки и до упаковки прошивки, дополнительных действий.
  • Запуск программы с параметрами командной строки
  • Перетаскивание на значок программы или в окно программы файлов и папок
  • Перетаскивание файлов в окно программы, даже когда выполняются текущие действия
  • Никаких отвратных батников, питон скриптов и привязки к конкретной папке
  • Файл образа может находится где угодно, папка с распакованным образом, будет создана рядом с файлом.
  • Логирование всех действий
  • Лог файл можно сохранить в любой момент или найти в папке bin\lastAction.log, после закрытия программы
  • Мультиязычный интерфейс. С возможностью локализации на любой язык.
  • Unicode версия программы
  • Настройка внешнего вида главного окна программы
  • Настройка параметров сжатия
  • Настройки применяются в режиме реального времени
  • Звуковой сигнал по окончанию всех действий
  • Работа в ОС Windows от XP до 11 (x86\x64)
Минусы:
  • Нет динамической индикации прогресса выполнения текущего задания
  • Нет возможности выбрать текущую папку проекта и быстрого доступа к ней
  • Нет файла справки
  • Работа с Андроид 10+ образами, ограничена возможностями консольных утилит
  • Ограничение на размер образа 2gb (из за используемых утилит х86)
  • Периодические ложные детекты антивирусов на программу и консольные утилиты в её составе
  • В некоторых случаях, антивирус может по тихому блокировать действия и не давать их выполнить корректно
  • Для подписания Update.zip, распаковки прошивок Spreatrum (*.pac), распаковки\упаковки приложений (*.apk), требуется установленный в систему движок Java
Как пользоваться:
  • Скачайте во вложении файл архив, актуальной версии программы. (нужна регистрация на сайте)
  • Распакуйте папку программы в любое место, ближе к корню диска, путь не должен содержать кириллицу и пробелы.
  • Проверьте имеется ли доступ на запись в данную папку, так как в неё сохраняется файл настроек и логи.
  • Запустите программу, перейдите в пункт меню: Вид и нажмите на пункт: Создать ярлык на столе, появится ярлык на Рабочем столе.
  • На значок программы или в её окно можно переносить образ(ы) прошивки (*.img), файл(ы) обновления (*.zip), образ(ы) раздела(ов) (*.img, *.PARTITION, *.fex, *.new.dat, *.new.dat.br)
    или папку с распакованной прошивкой, папку с распакованным обновлением, папку с распакованным образом раздела.
  • Образы и папки должны располагаться ближе к корню раздела диска, в пути не должно быть пробелов и кириллицы
  • Желательно на время распаковки и упаковки, отключать Антивирус\защитник (действие выполнится быстрее и процент удачи будет выше)
  • В случае ошибок, выгрузите фоновые процессы, закройте не используемые программы (освободите память)
Внимание! Не желательно размещать образы в папке программы (возможны сбои)
Интеграция в Total Commander
Разместите папку программы с именем: MIK в папку Total Commander, например так: %COMMANDER_PATH%\Programm\MIK где переменная %COMMANDER_PATH%, это папка с Total Commander
Скопируйте код кнопки отсюда: (в буфер обмена)
TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Programm\MIK\MIK.exe"
-total %P%N
%COMMANDER_PATH%\Programm\MIK\MIK.exe
MIK - Распаковщик\упаковщик прошивок и образов разделов Android Запуск с Ctrl откроет файл под курсором. Можно перетаcкивать файлы и папки на кнопку.
%COMMANDER_PATH%\Programm\MIK\

-1
Правой клавишей мышки, по панели Total Commander (toolbar), в всплывающем меню выберите <Вставить>
Появится иконка для запуска программы, на неё можно перетаскивать образы и папки.
Если в момент запуска программы, нажать и удерживать клавишу Ctr на клавиатуре, то откроются файлы/папки под курсором и выполнятся соответствующее действия в программе.
Если не использовать ключ запуска программы: -total, то не нужно будет зажимать клавишу Ctr для открытия файлов/папок под курсором и это будет делаться автоматически.
Маркеры
Для сжатия папки распакованного образа раздела, в нужный вам формат, создайте пустой файл с именем образа и формата (Создать: Текстовой документ далее переименовать, сменить расширение)
При упаковки папки, программа ищет файл и смотрит его имя и тип, создаёт такой же, а исходный переименовывает в *.bak
Так же есть маркер: "имя образа_raw.txt". По умолчанию, без этого файла, образы сжимаются в sparse
FAQ
Мой антивирус находит заразу и блокирует работу программы
Зловредов в программе нет и не будет, так же их нет в консольных утилитах распаковки.
То что антивирусы ругаются, это ложные детекты.
Я в своей программе сделал всё возможное, что бы программа работала кристально чисто, выполнил неписанные правила кодера, но всё равно возможны детекты AV
Делать с этим ничего не собираюсь, так как война с Антивирусными программами совсем не равная. Их много, а я один.
Вы сами решайте, пользоваться программой, занося её файлы в белый список AV, отключать его, или удалить программу и найти нечто другое.
Программа не запускается.
Скорее всего это из за звукового движка. Возможные причины сбоя: DirectX не найден или звуковая карта не обнаружена.

Почему окно программы так выглядит и к чему ей это чёрное окно?
Программа, лишь оболочка, для запуска консольных утилит разных авторов.
Данные консольные утилиты, при выполнении, предоставляют информацию, которую удобно просматривать в одном окне.

Почему главный принцип программы, это перетаскивание в окно или на значок программы?
Во всех других программах, данного назначения, мне не нравилась привязка к определённым папкам. В данной программе такого ограничения нет. Лично мне, удобно именно такое управление.
Кидать в окно программы файлы и папки, не задумываясь о том, как распаковывается или упаковывается тот или иной файл.

Почему в программе нет справки ?
Потому что её кто то должен создать и обновлять. Создание справки, это ещё один проект, на который уйдёт куча моего времени.
Программу я пишу лично для себя и друзей, но поделился с вами безвозмездно.
Я умею использовать весь функционал программы, друзьям подскажу.
Все остальные, пользуются так как есть.

Почему программа не распаковала мой образ?
Возможные причины:
  • На вашем диске ssd\hdd мало места
  • Мало доступной, свободной памяти RAM (закройте не используемые программы, выгрузите фоновые)
  • Нет полного доступа на запись, в каталоге распаковки
  • Размер образа более 2gb (ограничение адресного пространства и утилит x86)
  • В пути к образу имеются пробелы, кириллица или очень длинный путь (размещайте образы ближе к корню диска)
  • Образ нестандартный или имеет защиту
  • Антивирус\защитник блокирует работу консольных утилит
  • Консольные утилиты в составе программы, не умеют распаковывать данный образ (Андроид 10+)
  • Автор не научил программу обрабатывать данный тип образа, ибо не знает о его существовании
  • Образы разделов не нужно переименовывать во что то удобное пользователю, возможно ложное срабатывание иного метода распаковки или при сборке make_ext4fs впишет неверное имя в создаваемый образ.
P.S. Я тестировал работу на нескольких, около двадцати, тестовых образах и не могу гарантировать что будет распаковывать всё...
Если уж хотите помочь, напишите сообщение в мелких деталях, представьте скриншоты, видео и ссылку на образ, с которым программа не справилась. Будьте готовы тестировать.
Если у меня будет желание и время, я проверю и отвечу в чём причина и если получится, устраню неисправность в коде программы.
Нет желания описывать и тестировать, не пишите вообще, ибо пользы от вашего сообщения ни какой.

Ваши программа не справилась, а вот другая смогла
И что??? Я вам что то обещал, втирал, продавал, навязывал и должен?
Нет! Я поделился тем, что разрабатываю за свой счёт. Трачу на это время, деньги на оплату света и интернета.
То что она вам не подошла, лично ваши проблемы и не надо писать об этом в теме и личке.
Должны Вы мне, за то что получили, скачали мой инструмент безвозмездно и испытали его в действии. За то что я создал тему, наполнил информацией и обновляю её и программу.
Но я ничего не требую, только чуток уважения и конструктивные комментарии.

Я вам написал личное сообщение, а Вы не отвечаете.
По возможности, стараюсь отвечать всем.
Но если сообщение короткое и невнятное, то нет желания общаться с таким человеком, которые не потрудился описать детали и принуждает меня задавать дополнительные вопросы,
отвлекаться от своих дел и портить свои нервы.
Я как автор программы, никому ни чем не обязан. Так как, распространяю её безвозмездно.
Без каких либо гарантий. Поддержка возможна, но зависит от моего желания.

Реализуйте возможность работы с Андроид 10, 11, 12, 13+
Возможность распаковки и упаковки, зависит от наличия (существования) консольных утилит под Windows х86. Если их не существует или мной не протестированы, то ничем не могу помочь.

Программа упаковывает раздел Super?
Потихоньку её учу... Но без вашей помощи, сомневаюсь что будет обрабатывать любые типы.

Есть ли ограничение на размер распакованного образа?
К сожалению есть... И это обусловлено ограничением X86 утилит в составе проекта.
До 2gb всё ок, выше без гарантий...
Что бы убрать это ограничение, нужно компилировать проект в чистый x64 и использовать утилиты x64 в составе программы.
НО! Ребята... мне это не требуется. Я и так выполнил кучу хотелок и из за этого мне сложней тестировать и обновлять программу.
Версия x64 возможна, но не тестировать, не обновлять её параллельно с x86 я не буду.

Почему вы не реализовали такой то функционал?
Наверное потому что я не знал что он кому то требуется и не вижу полной картины интеграции его с существующим в программе. Мало предложить что то, нужно понять и решить множество технических вопросов.
Если мне функционал не интересен, а Вам он требуется в работе, будьте любезны описать всё в деталях, тестировать.

Я нашел баг в программе, устраните...
С удовольствием, если предоставите полную информацию его возникновения.
Если не хотите помогать, то лучше и не пишите... Ибо у меня всё работает и вычислять что не работает у вас, нужно куча времени и сил и может так оказаться, что виновата не программа а пользователь, оказывать в данном случае адресную помощь я не хочу, извините.

Можно ли использовать программу в коммерческих целях?
Нет, нельзя! Я пишу программу, трачу своё время, нервы, силы, оплачиваю свет, интернет.
Вы же хотите зарабатывать деньги, так поделитесь с автором, в личке обговорим условия.

Будет ли реализовано в программе авто обновление
Реализация возможна, но зачем? Сейчас хоть люди заходят в тему, скачивают новые версии.
Может что то найдут полезного в шапке темы, которую я постоянно дополняю информацией. Узнают актуальные новости о программе.

Какие планы развития программы?
Идей имеется множество, но один в поле не воин Ведь практически никто не чем не помогает...
Я сам придумываю функционал, реализовываю его, тестирую, дорабатываю.
Выкладываю на сайтах, а в ответ только пустые редкие комменты, и уйма недовольных, которым не оказал адресную помощь...
Не подсказал, не научил, не задал наводящие вопросы и не вник в суть проблемы. А должен ли?
Нет никакого желания что то делать, так как отсутствует морального удовлетворения. Получаю лишь издёвки, да пустые хотелки пользователей.
Пока реализую лишь что то мелкое, связанное с интерфейсом, подсмотренное в код архивах... Ибо что то серьёзное, не кому тестировать.

Как я могу помочь проекту?
Участвуйте в темах обсуждения, предлагайте идеи, тестируйте, пишите о программе на разных ресурсах.
И проект будет преображаться и развиваться. А не загнётся, по причине потери интереса к нему автором.
Через какое то время, если не писать код, я забуду все связи\зависимости и никакие подсказки в коде, уже не помогут. Проект просто умрёт.

Я помог автору финансово, а он не хочет делать то что я прошу...
Помощь является безвозмездной, то есть не обязывает автора не к чему.
Если вы что то хотите за неё, сразу обговаривайте детали с автором.
На реализацию какого то функционала, требуется время, нужно просто подождать.
Не всегда реализация возможна, в контексте данного проекта.

Почему вы больше не развиваете проект?
Изначально я писал программу для себя и меня всё устраивает в таком виде, в каком она сейчас находится.
Выкладывая на сайт, я думал что пользователи будут тестировать, предложат конструктивные идеи по улучшению функционала и помогут развитию программы донатами...
Но... Ситуация обратная... Гнобят, минусуют, гадят в карму и личку. Извините, но писать программу, в такой обстановке, нет ни малейшего желания.
Важная информация! ЧИТАТЬ ВСЕМ!!!
Программа предоставлена безвозмездно по принципу: Как есть. Без каких либо гарантий.
Создавалась для работы с прошивками Андроид 6,7,8,9 Тв приставок на базе процессора Amlogic и свои задачи полностью выполняет.
Работа с другими прошивками\разделами, возможна, но не гарантируется. Не нравится, не работает - проходите мимо.
Нашли явную ошибку, сможете её описать и повторить и после моих правок протестировать, возможно, если будет время и желание, устраню и обновлю проект.
Адресную поддержку пользователям программы, безвозмездно не оказываю. Наводящие вопросы не задаю.
Что нового
Внимание! Обновления без изменения версии программы. Ориентируйтесь по номеру билда в свойствах файла или в окне О программе.
14.02.2021 Добавлена ссылка на данную тему в меню Помощь
15.02.2021 Информирует о свободном месте, которое можно использовать для добавления своих файлов в раздел распакованного образа
16.02.2021 Системный звук после выполнения всех действий, регулировка громкости и тест воспроизведения
18.02.2021 Окно О программе и Donate (ранее были лишь системные сообщения)
28.02.2021 Настройки размера и цвета шрифта, индекс в имени создаваемого файла прошивки, оптимизация кода
03.03.2021 Мульти язычная версия Пока только русский и английский язык. Если мне пришлёте свои переводы, с удовольствием добавлю
07.03.2021 Распаковка и упаковка прошивок Амлоджик, Рокчип и Алвинер. Новое название программы.
08.03.2021 Восстановлена работа функции дополнительной распаковки и упаковки образов system и vendor (галочки в меню настроек)
13.03.2021 Выведено ещё несколько строк в файлы локализации, удалены не используемые процедуры
14.03.2021 Китайский, Украинский, Белорусский языки локализация. Распаковка прошивок Рокчип нового образца, распаковка boot, recovery разделов
15.03.2021 Распаковка и упаковка раздела: Logo (Благодарю XVortex за помощь!)
16.03.2021 В папке с распакованным Logo, файлы с расширением: bmp. Резервные копии разделов с расширением: bak
17.03.2021 Распаковка и упаковка raw разделов (Благодарю derak1129 за идею) Правка файлов локализации. Последняя версия на пайтон (питон) движке, далее будет интересней.
17:03.2021 Облегчённая версия по размеру, но не функционалу. Распаковка и упаковка Product и Odm разделов (v3.2)
18.03.2021 Распаковка и упаковка раздела Product и Odm в меню пред настроек
22.03.2021 Распаковка и упаковка раздела _aml_dtb.PARTITION (single, multi, multi/gzipped)
23.03.2021 Распаковка Update.zip, образов разделов *.new.dat и *.new.dat.br (упаковывать пока не умеет) (v3.3)
27.03.2021 Новые пункты в menubar, упаковка разделов *.new.dat и *.new.dat.br
27.03.2021 Отредактирован дизайн меню настроек
28.03.2021 Доработана функция распаковки разделов: *.new.dat и *.new.dat.br, удаление промежуточных образов
28.03.2021 Доработана функция сборки разделов: *.new.dat и *.new.dat.br, удаление промежуточных образов
29.03.2021 Упаковка, распакованного ранее файла обновления (Full OTA) Update.zip. Подписывание файла обновления, тестовой подписью. Установка уровня сжатия в настройках программы
31.03.2021 Установка параметров сжатия в меню настроек. Другая, более стабильная утилита подписания. Правка файлов локализации
03.04.2021 Устранена ошибка: упаковка временного файла конфигурации update.cfg в архив update.zip
07.04.2021 Правка настроек компилятора (v3.4)
15.04.2021 Устранена ошибка: при распаковки *.zip не открывалась папка проекта в проводнике (если в настройках выставлена такая опция)
30.04.2021 Расширено меню: Недавние. Панель инструментов с возможностью смены её положения и отключения (v3.5)
02.05.2021 Устранена ошибка переключения локализации, при смене языка в меню инструментов
03.05.2021 Запоминание выбранной вкладки, в меню настроек
07.05.2021 Добавлено меню: Вид
07.05.2021 Всплывающее меню в информационном окне по нажатию ПКМ мыши
08.05.2021 Установка вертикального положения панели навигации в меню Вид. Создание ярлыка программы на Рабочем столе из меню Вид
10.05.2021 Перерисовка информационного окна по левому или правому клику мышки (избавляет от полоски ползунка, при разворачивании окна на весь экран)
12.05.2021 Системные правки. В окне "О программе" добавлена информация о сборке
12.05.2021 Добавлен Portuguese - Brazil язык локализации. Изменено название программы
15.05.2021 Подправлено создания ярлыка программы (создавался со старым именем проекта)
23.05.2021 Базовые функции декомпиляции и компиляции приложений (*.apk)
28.05.2021 Обновлена утилита imgRePackerRK
31.05.2021 Извлечение из файла payload.bin образов разделов
24.06.2021 Распаковка и упаковка: socko.img, socko.new.dat.br и elable.img, elable.new.dat.br
15.07.2021 Устранена ошибка сборки: _aml_dtb multi/gzipped (Спасибо за баг репорт: DenMaxNX)
18.07.2021 В окне просмотра сделан отступ текста от левого края. Мелкие правки кода. Сообщение по окончанию всех действий, если были ошибки. (с указанием количества ошибок)
18.07.2021 Новая функция "Подсветить" Подсвечивает в тексте слова Выполнено успешно и Ошибка выполнения. Удобно для просмотра и поиска ошибок в окне программы.
26.07.2021 Доработано меню Вид. Подправлена ссылка на сайт 4pda.to
11.08.2021 Распаковка прошивок Spreatrum (*.pac)
16.08.2021 Распаковка образов разделов, сжатых в: lz4 (пример: system.img.lz4)
20.08.2021 Упаковка образов разделов в: lz4 (пример: system.img.lz4)
21.08.2021 Распаковка и упаковка прошивок в формате *.tar и *.tar.md5 (смартфоны Samsung, прошивальщик Odin) (версия программы: 3.7)
24.08.2021 Распаковка разделов в формате ext4
25.08.2021 Извлечение разделов из super.img или super.fex Упаковка разделов в формате ext4
25.08.2021 Извлечение разделов из super.img.lz4 или super.img.ext4 или super.img.ext4.lz4
26.08.2021 Информация о размере извлечённых из super разделов
27.08.2021 Изменён способ распаковки super (благодарю: kory-vadim)
02.11.2021 релиз новой версии 3.8
1. Распаковывает 7z архивы
2. Нет кучи мусора в корне папки прошивки (используется под папка для каждого раздела) По мне, так лучше чем у Вортекса Level2
3.Сохранение резервных копий разделов, можно отключить в настройках
4. Сигнатурный движок определения типа раздела-образа (считывает заголовок файла и опознаёт по нему) Расширение файла и его имя не столь важно.
2. Распаковка современных прошивок, например Ugoos X4 (Андроид 11) и других , разборка Super, извлечение разделов, их редактирование и сборка. Super собирать не умеет!
3. Больше информации отображается в окне программы, а именно тип разделов и прошивок, как их опознала программа.
4. Наконец то сделал нормальный вывод ошибок от консольных утилит! (в окно программы)
5. Проверка целостности файла прошивки, при наличии рядом файла хеша
6. При сборке образа, можно создать хеш файл и упаковать прошивку в 7z архив
7. Обновлена функция резервного копирования:
+ создаётся копия оригинала с расширением *.org (можно отключить в настройках)
+ создаётся копия предыдущего файла с расширением *.bak (можно отключить в настройках)
8. Дополнительные пункты в меню настроек
9. Отказался от обновлённого imgextractor и вернул тот что был встроен ранее и неоднократно проверен.
Программно сделал улучшения, что бы работало с современными разделами и распаковывало в подпапку.
10. Чуть изменил способ правки конфигов
11. Доработана система бекапов и сборка-разборка прошивок и разделов Samsung
12. Открытие чужих логов в окне программы (для анализа с подсветкой)
+ можно вставлять текст в окно программы из буфера обмена, а после включить подсветку ошибок
+ можно кидать файл LogFile.txt или lastAction.log в окно программы или на её ярлык
(сделал больше для себя, для анализа присланных мне логов, с подсветкой ошибок)
13. Горячие клавиши для меню "Правка"
14. Детектор наличия JAVA движка в системе
15. Удаление архива или образа прошивки в корзину (при работе с прошивкой в архиве)
16. Доработана распаковка поддерживаемых форматов, после извлечения из архива
17. Доработана распаковка _aml_dtb.PARTITION
18. Попытка избавится от крякозябр в окне программы
19. Распаковка прошивок SlimBox с защитой от автора. (v12+)
20. Доработана упаковка _aml_dtb.PARTITION
21. Добавлена информация в окно программы:
+ отображение полного пути к файлу или папке
+ количество символов в пути
+ количество латинских и не латинских символов
+ количество пробелов
+ предупреждение, если имеются пробелы в пути
+ предупреждение, если имеются не латинские символы
+ предупреждение, если количество символов в пути, больше ста двадцати
22. Дополнены файлы локализации новыми словами (выведены из кода)
20.11.2021 Баг фиксы:
+ Если пользователем добавлено много новых файлов и папок в распакованный образ раздела, программа больше не зависает при сборке.
+ Вывод сообщений об ошибках в режиме реального времени.
+ Исправлен детект распаковки boot и recovery разных производителей CPU
23.11.2021 Функция авто закрытия окна программы
Срабатывает таймер закрытия программы, если все действия выполнены успешно.
Можно отключить в настройках, во вкладке: Окно
+ Интеграция в Total Commander
Добавлен ключ запуска программы: -total
Описание интеграции в шапке темы.
+ Обновлены файлы локализации
Добавлены новые строки
24.11.2021 Добавлен прогресс бар с неопределённым состоянием
27.11.2021 Сохранение позиции открытия папки и пути к образу в конфиг файл
29.11.2021 Прогресс бар превратился в расширитель Статус бара и показывает теперь разные состояния программы
Зелёный - все действия выполнены успешно
Красный - имеются ошибки выполнения
Желтый - таймер обратного отсчёта перед закрытием программы
Устранена ошибка отключения таймера, если нажать на кнопку очистки окна
11.08.2022 (версия 3.9 build 3026)
Слово Вставить, выведено в файлы локализации
Адаптирован размер окон, под Windows 11 и pb 5.72
Изменены реквизиты для финансовой помощи
Cсылки на кошельки в тексте вывода
Программа не крашится, если некорректно работает звуковой движок системы
При распаковки архива с прошивкой, не создаёт пустую папку
17.09.2022 (версия 4.0 build 3027)
Запоминает положение окна настроек и может его выводить при запуске программы
Если в разделе было включено журналирование, то программа соберёт с ним же
Теперь прописывается метка тома, при создании разделов
Упаковка и распаковка super (не всех видов и без анализа исходного)
18.09.2022 (версия 4.0 build 3028)
Собирает все разделы в папке super
Собирает разделы с увеличением пространства и последующей урезкой в автоматическом режиме
05.11.2022 (версия 4.0 build 3029)
Добавлены пункты в контекстное меню информационного окна
(можно искать искомую строку в гугле или 4pda, можно перевести на свой язык)
13.01.2023 (версия 4.0 build 3032)
Устранено ложное определение имени папки из за присутствия в имени расширений
Можно таскать на окно программы папку где расположены конфиги
10.05.2023 (версия 4.0 build 3039)
Фикс включение журналирования
Разделы в super собираются или исходного размера (если место позволяет) или обрезанные почти в ноль, с небольшим запасом под root
(Ранее программа всё резала под ноль)
12.05.2023 (версия 4.0 build 3044)
Предупреждение, если в пути к файлу программы, есть недопустимые символы.
Кнопка сохранить как... в меню тулбар
21.07.2023 (версия 4.0 build 3045)
Вьетнамский язык локализации интерфейса
Изменена логика присвоения расширений файлов, при распаковки Logo.img
28.09.2023 (версия 4.0 build 3048)
Автоматическая распаковка разделов из Super (Rockchip)
Обновлен imgRePackerRK
Турецкий язык локализации
15.11.2023 (версия 4.0 build 3050)
Новая версия компилятора (6.03)
Файл лаунчера обеих разрядностей (не на что не влияет)
Файл русской локализации встроен в тело программы (внешний 1049.lng отсутствует)

Системные требования: Windows XP и выше
Русский интерфейс: Да
Разработчик: CryptoNick

Скачать:
версия: 4.0β‎ build 3050 Прикрепленный файлMIK4.0β‎_build_3050.zip ( 53.41 МБ )


Прошлые версии
версия: 4.0β‎ build 3048 Прикрепленный файл4.0β‎_build_3048.zip ( 53.09 МБ )

версия: 4.0β‎ build 3044 Прикрепленный файлMIK_v4.0(1).zip ( 53.2 МБ )

версия: 4.0β build 3032 Прикрепленный файлMIK_v4.0(2).zip ( 53.19 МБ )

версия: 4.0β build 3029 Прикрепленный файлMIK_v4.0(3).zip ( 53.19 МБ )

версия: 3.9.0 build 3026 Прикрепленный файлMIK_v3.9.zip ( 46.7 МБ )

версия: 3.8.0 build 3025 Прикрепленный файлMIK_v3.8.zip ( 46.7 МБ )



Сообщение отредактировал iMiKED - 15.11.23, 21:22
Причина редактирования: Восстановление прошлых версий



Реп: (725)
История создания:
Пере собираю иногда прошивки для приставок на процессоре Amlogic, все найденные мной утилиты-кухни или не работают адекватно или жутко неудобны.
Многие программы распаковки-упаковки на Windows x86 не работает или работает частично. Так как некоторые консольные утилиты, в составе программы, только для x64 платформ.
Поэтому решил создать свою версию распаковщика-упаковщика.
Суть вот в чём. Прошивки для приставок у меня лежат на системном диске C:\ в папках по названию приставок.
Так удобнее прошивать, выбрать папку и образ.
Ранее, что бы разобрать образ, нужно было его перенести в какую то папку кухни или распаковать с помощью CustomizationTool, а распакованные образы разделов искать в папке tmp программы.
Это было крайне неудобно, для распаковки нескольких прошивок и работы с ними. Причём было много дублей в разных местах, а ssd у меня всего 120gb и уже на нём кучу всего имеется.
Появилось немножко свободного времени, решил создать простой инструмент, благо опыт разработки программ под Windows имею.
Программ такой направленности вроде хватает, но они то на QT, то на Net, то на Питон, а это значит, весят много и требуют дополнительных файлов или платформу.
Да и работают крайне нестабильно.
Идея была создать файл маленького размера, с возможностью перетаскивания на его значок образа прошивки в формате *.img или папки с разобранной прошивкой, для сборки образа в *.img
Полноценная работа в Windows x86 и минимум действий от пользователя.
(на x64 тоже будет работать)
Причём образ распаковывается в папку с его именем, и находится в той же директории, так же при упаковки, создаётся образ в той же директории, с тем же именем, но в имени дописано слово new.
В принципе, можно реализовать запись даты и времени в имя нового образа, но пока не до этого.
Программа на самом деле, не делает ничего особенного и сама не умеет распаковывать образ и упаковывать его. Она служит конфигуратором для консольной утилиты: AmlImagePack.exe
Проверяет условия, считывает пути, определяет какую функцию нужно выполнить, распаковывает AmlImagePack.exe в папку прошивки и запускает её с определёнными ключами.

Пока, так как распаковывается только Level1, утилита предназначена для простой распаковки, с целью ручной замены образа раздела logo.img или подмены раздела Recovery.img на TWRP
Но никто не мешает распаковать system.img или vendor.img например с помощью утилиты UnpackerSystem
Сборка образа производится по списку, так что "мусор" из папки не попадёт в образ созданной прошивки.

Внимание! У программы нет окон и все действия производится с помощью перетаскивания на её значок образа прошивки или папки с распакованной прошивкой.
При некоторых неправильных действиях со стороны пользователя, программа выводит текстовые предупреждения.
Внимание! Так как у программы нет окон, некоторые антивирусы могут на неё ругаться, предотвращать запуск или удалять.
Если это случится, ничем не смогу помочь, так как борьба с детектами, пока не входит в мои планы. (лучше уж Level2 реализовать)
Зловредов в утилите нет, ниже исходник на PureBasic, если есть сомнения. По крайней мере, мой антивирус ничего плохого в утилите не нашёл.
Исходник версии 1.1
Count = CountProgramParameters() ;количество параметров
;MessageRequester("", "Count= "+Str(Count)
If Count
Notice$ = ""
While Count

Count=Count-1
Parameter$ = ProgramParameter() ;переданный параметр
Expansion$ = LCase(GetExtensionPart(Parameter$)) ;расширение файла
FileName$ = GetFilePart(Parameter$, #PB_FileSystem_NoExtension) ;имя файла без расширения
LowerFileName$ = LCase(FileName$)
HomeFolder$ = GetPathPart(Parameter$)+FileName$ ;полный путь до файла, без расширения

;MessageRequester("", "Parameter$= "+Parameter$)
;MessageRequester("", "Expansion$= "+Expansion$)
;MessageRequester("", "FileName$= "+FileName$)
;MessageRequester("", "HomeFolder$= "+HomeFolder$)

If Expansion$ = "img"

CreateDirectory(HomeFolder$)

CreateFile(1, HomeFolder$+"\AmlImagePack.exe")
WriteData(1, ?Amlpack, ?end_Amlpack-?Amlpack)
CloseFile(1)

RunProgram(HomeFolder$+"\AmlImagePack.exe", "-d "+Chr(34)+Parameter$+Chr(34)+" "+Chr(34)+HomeFolder$+Chr(34), "", #PB_Program_Wait)
DeleteFile(HomeFolder$+"\AmlImagePack.exe", #PB_FileSystem_Force)

ElseIf FileSize(Parameter$) = -2 ;условия выполняются, если это папка
If FileSize(Parameter$+"\image.cfg") > 0

CreateFile(1, Parameter$+"\AmlImagePack.exe")
WriteData(1, ?Amlpack, ?end_Amlpack-?Amlpack)
CloseFile(1)

RunProgram(Parameter$+"\AmlImagePack.exe", "-r "+Chr(34)+Parameter$+"\image.cfg"+Chr(34)+" "+Chr(34)+Parameter$+Chr(34)+" "+Chr(34)+Parameter$+"_new.img"+Chr(34), "", #PB_Program_Wait)
DeleteFile(Parameter$+"\AmlImagePack.exe", #PB_FileSystem_Force)

Else
Notice$ = Notice$+"В каталоге: "+Chr(34)+FileName$+Chr(34)+" не найдена инструкция для сборки образа!"+Chr(10)+Chr(10)
EndIf
Else
Notice$ = Notice$+"На значок программы можно переносить только образ(ы) прошивки (*.img) или папку с распакованной прошивкой."+Chr(10)+"* Неподдерживаемый формат: "+FileName$+"."+Expansion$+Chr(10)+Chr(10)
EndIf
Wend

If Notice$ <> ""
MessageRequester("Внимание", Notice$)
EndIf

Else
MessageRequester("Внимание", "У программы нет интерфейса, перенесите на её значок файл(ы) прошивки.")
EndIf


DataSection
Amlpack:
IncludeBinary "bin\AmlImagePack.exe"
end_Amlpack:
;
EndDataSection

New! (версия 1.1) Пакетная обработка!!! Только распаковка и упаковка образов прошивки. (образы разделов обрабатывать не умеет)
Можно перетащить на значок программы хоть десяток образов *.img и она их распакует в порядке очерёдности. Можно перетащить несколько папок с распакованной прошивкой и программа создаст файлы прошивки *.img в порядке очерёдности. Можно подкинуть программе смешанные данные, например образ для разборки и папку для сборки, программа определит что ей нужно сделать и произведёт действия.

New! (версия 2.0) Научил программу разбирать PARTITION разделы, при переносе на её значок
Программа умеет распаковывать и упаковывать boot.PARTITION и recovery.PARTITION размер образа, после сборки отличается от оригинала, функционирует ли он, не тестировал.
Распаковывает vendor.PARTITION, system.PARTITION, product.PARTITION, odm.PARTITION упаковывать пока не умеет.
Распакованные образы разделов, пока используем для просмотра содержимого. Упаковать их какой либо утилитой, не выйдет, так как нет инструкций для сборки. (они пока не создаются)
Непонятно, как лучше реализовать логику распаковки и упаковки (всё сразу или частями), но один файл программы умеющий распознавать при перетаскивании на его значок, что от него хотят и делать это без вопросов, по моему отличный вариант.
Добавлена пакетная обработка. Теперь можно перекидывать на значок программы несколько файлов или папок и они в порядке очереди обработаются.
Например, можно распаковать несколько прошивок, выделить и перенести на значок программы несколько файлов образов и они распакуются по очереди.
Так же можно распаковать образы разделов, перенеся все файлы распакованной прошивки на значок программы. То что сможет она распакует, что не сможет и не умеет: пропустит. После всех действий, выведет одно сообщение - уведомление, если в процессе были ошибки. Если ошибок не было, программа просто завершит свою работу.

Продолжение...
Так как в том варианте я не смог реализовать сборку разделов, пришлось позаимствовать часть проекта: Портирование прошивок для смартфонов на базе процессоров Mediatek 6735/53
Нам хорошо было вместе некоторое время, но приходилось с собой таскать жирного питона и скрипт не мог распаковывать Product и Odm.
Поэтому мы попрощались c проектом: UnpackerSystemNew и переехали на более продвинутые, самодостаточные утилиты от XVortex
Теперь утилита умеет пере собирать распакованные разделы, так же и распаковывать-упаковывать саму прошивку
Работает всё по тому же принципу переноса на значок программы, плюс появилось подобие GUI - лог окно.

В окне программы отображается вся доступная информация, вывод от консольных утилит минимальный, поэтому большее время в логе ничего не выводится.
Пока не реализовано сообщение об успешной сборке-разборке, но можно ориентироваться по Exitcode и если он равен нулю (0), консольная утилита сообщила программе, что всё выполнила без ошибок.
В обновлённой версии добавил сообщения: (Выполнено успешно!) и (Ошибка выполнения!), так я думаю будет понятнее.
Сборка разделов system и vendor работает. НО! Не сообщается о проблемах в файле атрибутов: fs_config Уже сообщает, и указывает на файлы!
То есть, если вы удалили какой либо файл из распакованного раздела, то сборка пройдёт без ошибок и проблем.
А если добавили файл(ы) или папку(и), то утилита ругнётся и ничего не соберёт, так как нужно прописывать вручную в файл fs_config атрибуты. В новой версии, атрибуты вписываются автоматически!
Для сборки используется консольная: make_ext4fs, её вывод инфы скуп и реализован так что программа не может его считать, а ещё она любит поиздеваться... Научил считывать сообщение об ошибке!
Например вы добавили три файла в папку, атрибуты не прописали при запуске make_ext4fs ругнется и выведет строчку отсутствующей записи атрибутов, вы пропишите ручками, опять запустите сборку,
make_ext4fs ругнется на следующую запись и так далее. То есть не разом выводит информацию, а порционно.
Поэтому считаю, что можно не заморачиваться с выводом такой информации и нужно придумать или автоматическое вписывание атрибутов или вывод всего списка не прописанных в fs_config атрибутов. Реализовано!
Нужно следить и если файл добавили, сразу вписывайте атрибуты в fs_config например Notepad++ А если забыли, то долго будите вспоминать, что не вписали и недопонимать, почему раздел не собирается...
Посмотрел я кухни для Windows x64, многие из них умеют вписывать атрибуты для файлов в автоматическом режиме... Попробую научить и данную... Реализовано! Благодарю Vortex!
Fs_config можно редактировать так: Обработка образов под Windows (Пост kory-vadim #81260084)
На основе данной статьи, создал новую функцию, теперь можно переносить на значок папку add и она впишет в текстовой файл атрибуты.
Скриншот
Прикрепленное изображение

Если есть желание помочь финансово, обращайтесь в личку.


Сообщение отредактировал CryptoNick - 10.05.21, 11:35



Реп: (2337)
CryptoNick @ 15.01.21, 16:20 *
нужно придумать или автоматическое вписывание атрибутов

В качестве примера здесь.



Реп: (725)
* vitaly51370, А на что обратить внимание? Я читал данную статью.
По данному посту Обработка образов под Windows (Пост kory-vadim #81260084) сейчас сделал помощника...
Кидаем на значок программы папку add и после сканирования, находим автоматически созданный файл add.txt
Версию выложил выше...

Сообщение отредактировал CryptoNick - 16.01.21, 16:57



Реп: (5442)
CryptoNick @ 10.01.21, 16:04 *
на x64 тоже будет работать

что то не хочет , вендор в raw формате распаковывать , просто хотел проверить работу программы , виндовс 10 64 бит если так важно
Прикрепленное изображение



Реп: (725)
* chipa76, Я разбираю по другому сценарию... Так и не распакует...
Программа думает что это образ прошивки и пытается его распаковать, а это образ раздела.
Образы раздела она определяет по расширению PARTITION В новой версии можно перетаскивать в окно программы img и fex разделы
Можно определять и по имени, но это не к чему я думаю...
Не знаю как в других прошивках, но на Amlogic в распакованной прошивки, разделы имеют расширение PARTITION
В принципе под Amlogic и создавалась кухня. Но теперь работает и с Рокчипом и с Аллвинер

На Windows 10 x64 официальной сборке от декабря 2020, проверил весь функционал, всё работает.
Просто мы с вами по разному подходим к задаче, из за этого недопонимание программы.
Я сам не понимаю как лучше. Начну пользоваться в "бою" может что то изменю, подправлю.

Сообщение отредактировал CryptoNick - 14.03.21, 23:23



Реп: (5442)
* CryptoNick,
так понимаю что вы больше на прошивках и процессорах Amlogic / для приставок её тестируете , был чистый интерес её проверить в работе на снапах / мтк последних версиях андроида



Реп: (725)
chipa76 @ 16.01.21, 16:49 *
так понимаю что вы больше на прошивках и процессорах Amlogic / для приставок её тестируете
Правильно понимаете. Ранее в названии было Amlogic, но подумал, может она ещё что сможет распаковать и убрал...

!!! В новых версиях программы, она научилась работать с прошивками Рокчипа и Аллвинер
Разделы system и vendor может и от других прошивок распаковывать и упаковывать...

Сообщение отредактировал CryptoNick - 20.03.21, 11:00



Реп: (60)
Прошиваю планшет на платформе AllWinner A64. Суть в том, что прошивка не родная, от другого планшета, но на 100% с идентичным железом. В прошивке нужно изменить пару строчек в buid.prop. Распаковываю прошивку данной программой, меняю значения в файле, сохраняю, потом собираю прошивку обратно, прошиваем планшет, но дальше логотипа при включении планшета дело не движется. Максимум, куда получается войти это Recovery.

Попробовал просто разобрать и без каких-либо изменений собрать прошивку обратно. Разбираем - собираем - прошиваем - и планшет так же стоит на месте. Т.е. программа собирает раздел System с ошибкой. Может быть, поможете в решении проблемы?

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



Реп: (725)
Rammist @ 25.03.21, 23:55 *
Т.е. программа собирает раздел System с ошибкой
НЕ должно так быть.
Какой Андроид?
Не понял, прошивка подходит к планшету или нет?

Прошивки бывают разные... Был удачный опыт пере сборки другим инструментом? Хотя бы того же system, например в Портирование прошивок для смартфонов на базе процессоров Mediatek 6735/53

Сообщение отредактировал CryptoNick - 26.03.21, 00:05



Реп: (60)
CryptoNick @ 26.03.21, 00:03 *
Какой Андроид?

Андроид 7.1.1
Прошивка подходит. Если в ней ничего не менять, то планшет прошивается и полностью загружается, только с одним "но" - тачскрин работает в зеркальном отображении и картинка переворачивается не корректно при повороте планшета. После разбора прошивки в файле buid.prop нашел в чем причина и её нужно устранить. Поправил - собрал прошивку - прошил планшет (никаких ошибок, всё заливается), включаем - и стоим на месте. Вот.

Каким-то другим инструментом еще не перепаковывал.



Реп: (725)
Rammist @ 26.03.21, 00:15 *
Каким-то другим инструментом еще не перепаковывал.
Пробуйте что то другое... А потом расскажите о результатах...
Вроде как, утилиты пере сборки образов разделов систем и вендор универсальные, но...
У меня например есть прошивка на сертифицированной приставке Мекул, так она при перепаковки не запускается... Но в ней защиты имеются.



Реп: (60)
CryptoNick @ 26.03.21, 10:02 *
Пробуйте что то другое...

Докладываю: imgRepacker 2.0.6 не справился с поставленной задачей (распаковал, ничего не менял в прошивке, упаковал обратно, прошил - ситуация такая же как и с Multi IMG Tool). Dragonface_V2.2.3 вообще отказался загружать образ, ссылаясь на то, что он не знает как работать с образом такой платформы (в описании программы работа с прошивками на чипе А64 не указана, ну и, собственно, это оказалось правдой).

Может у Вас получится что-то сделать через Multi IMG Tool?

Прошивка вот здесь. В файле build.prop нужно изменить всего одно значение в строчке ro.sf.rotation. По умолчанию там 270, а нужно 90, должно получится ro.sf.rotation=90

CryptoNick @ 27.03.21, 22:38 *
программа не даёт сообщение о ошибке

Да, программа ни на что не ругается, всё проходит как бы правильно, но результат не удовлетворительный :(

Сообщение отредактировал SokolMobile - 27.03.21, 22:41



Реп: (725)
* Rammist, Если при упаковки, распаковки программа не даёт сообщение о ошибке, я не смогу помочь.



Реп: (718)
* Rammist, HEX редактором можно попробовать
32 37 30 заменить на 39 30 0A, где 0A - символ перевода строки

Сообщение отредактировал Diman_3452 - 27.03.21, 22:40



Реп: (155)
Rammist @ 26.03.21, 00:15 *
Андроид 7.1.1

А для этой версии не надо разблокировать загрузчик, или хотябы пропатчить Бут?



Реп: (60)
Diman_3452 @ 27.03.21, 22:39 *
HEX редактором можно попробовать

Не прокатило.

* dino64,
Разблокировка загрузчика нужна, если мы хотим залить кастомную прошивку или сменить регион с China на Global (как у Xiaomi, например), а патч boot чаще всего нужен при получении root-прав.
Прошивка, с которой я работаю требует изменения всего одного значения (писалось выше). Нужно это для того, чтобы ориентация изображения пришла в норму. Сейчас картинка программно перевернута, потому и тач работает в зеркальном отображении.
Прошивка взята с планшета AVH Excer 10 Pro, а заливаю я её на Cobalt T10 WiFi, а картинка переворачивается, потому что материнская плата у этих двух планшетах физически расположена по-разному, и значения ориентации в buid.prop должны быть прописаны разные.
Прикрепленное изображение

Как побороть проблему я разобрался и думал, что программа Mutli IMG Tools - моё спасение, но не так случилось, как хотелось.
Придется работать с Linux, наверное, авось там всё получится.

Diman_3452 @ 28.03.21, 16:30 *
Не грузится устройство после такого редактирования?

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

Сообщение отредактировал SokolMobile - 28.03.21, 22:39



Реп: (725)
* Rammist, Если прошивка каким то образом защищена, то любая правка приводит к бутлупу и не важно что вы в ней меняли.
Попробуйте не распаковывая прошивку, загрузить её в Hex редактор, найдите строку и значение и поменяйте на своё. (хвостик забейте пробелами Hex:20)
Rammist @ 28.03.21, 10:42 *
думал, что программа Mutli IMG Tools - моё спасение
Так у вас и с другими инструментами не выходит... Поэтому не в программе дело. А в конкретной прошивке.

Сообщение отредактировал CryptoNick - 28.03.21, 11:09



Реп: (60)
* CryptoNick,
Так я и не обвиняю программу. Как и говорил выше, программа не выдает никаких ошибок, значит есть какой-то прикол в прошивке (та же защита).
"Будем искать" (с) Ю. Никулин.



Реп: (718)
Rammist @ 28.03.21, 12:42 *
Не прокатило
Что именно?
Открыли system.img (или полный файл прошивки) редактором, заменили три символа, сохранили.
Не грузится устройство после такого редактирования?

Сообщение отредактировал Diman_3452 - 28.03.21, 16:32



Реп: (43)
CryptoNick @ 15.01.21, 17:20 *
*.new.dat и *.new.dat.br, удаление промежуточных образов

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

Сообщение отредактировал sana18121986 - 11.04.21, 23:13


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 28.03.24, 14:12