﻿[ 10.11.2022 ]=====================================================================================

		imgRePacker.exe&imgrepacker
		version 2.0.7.8 (windows&linux)
		(c) RedScorpio, Moscow, 2012-2022

	Программа для распаковки/запаковки образов прошивок LiveSuit и PhoenixSuit (*.img)

    Назначение:
    Распаковка для внесения изменений и последующей запаковки образов прошивок формата LiveSuit
и PhoenixSuit/OndaSuit (утилиты для прошивки устройств на чипах от Allwinner и их аналогов). 

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

    Отличия (они же преимущества):
	- утилита All-in-one;
	- автоматическое определение формата образа прошивки (LiveSuit/PhoenixSuit);
	- автоматическое распознание структуры прошивки для определения порядка действий;
	- создание блоков [FILELIST] и [IMAGE_CFG] (частично) файла конфигурации образа *.cfg 
          (возможно использование в упаковщике от производителя Dragon);
	- автоматическое извлечение образов дисков 
	  Условие: 
	    - zdisk (LiveSuit/zdisk);
	    - описан в блоке [down_num] файла sys_config.fex (LiveSuit/zdisk & LiveSuit);
	    - описан в блоке [partition_start] файла sys_partition.fex (PhoenixSuit).
	- восстанавливаются (и используются при упаковке) все исходные файлы прошивки;
	- существенно меньше;
	- заметно производительнее;
	- имеется распаковка и запаковка файлов 2-го слоя, поддерживаются:
		- Android boot image (04);
		- gzip/cpio archive file (14);
		- cpio_ascii_new archive file (19);
		- sparse image (03) (пока только распаковка).


    Поддерживаются прошивки устройств на чипсетах (известные мне):
	- 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 A20/A31/A31s (PhoenixSuit);
	- Allwinner A80 (PhoenixSuit).

    Использование:
    "imgRePacker.exe [options] <name[.ext]>"		- распаковка (Windows)
    "imgRePacker.exe [options] <name[.ext]>.dump"	- запаковка  (Windows)
    "imgRePacker.exe [options] <name[.ext]>.cfg"	- запаковка файла 2-го слоя (Windows)
    "./imgrepacker [options] <name[.ext]>"		- распаковка (Linux)
    "./imgrepacker [options] <name[.ext]>.dump"		- запаковка  (Linux)
    "./imgrepacker [options] <name[.ext]>.cfg"		- запаковка файла 2-го слоя (Linux)

    Опции (в скобках указано имя в ini-файле и значение по умолчанию):
    /log	- создавать log-файл (log = 0);
    /debug	- писать отладочную информацию, работает только с опцией /log (debug = 0);
    /quiet	- отключить вывод в консоль (quiet = 0);
    /mono	- включить монохромный режим (mono = 0); 
    /noiso	- не формировать при  распаковке/не использовать при запаковке образы файловых 
		  систем прошивки (noiso = 0);
    /8600	- запаковывать в формате старых прошивок SC8600 - не используется файл конфигурации, 
		  другие параметры для формирования ZDisk (8600 = 0);
    /smt	- zdisk.img запаковывался с использованием SMT - некорректный размер файла 
		  в заголовке; используется при распаковке (smt = 0);
    /latin	- заменять нелатинские символы в путях к файлам прошивки; используется при 
		  распаковке (latin = 0);
    /skip	- пропустить проверку размера файла образа прошивки; используется при распаковке 
		  (skip = 0);
    /2nd	- распаковка/запаковка файлов второго слоя; исключение составляет ZDISK - работа 
                  с ним регулируется аналогично ISO (2nd = 0);
    /rmd4	- выравнивание ramdisk в Android Boot image по границе 4 байта (rmd4 = 0);
    /symb	- игнорировать ошибки проверки символьных линков (symb = 0);
    /ini	- перезаписать ini-file с опциями из командной строки (-);
		  Примечание:
		  Опции командной строки всегда имеют приоритет выше ini-файла.

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

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

===================================================================================================

    Download:
    http://4pda.ru/forum/index.php?showtopic=287496&view=findpost&p=11406874	(rus)
    http://forum.xda-developers.com/showthread.php?t=1753473			(eng)

===================================================================================================

    Thanks:
	esxgx 				for his research
	losber (4PDA)			for testing (windows)
    Special thanks:
	Jean-loup Gailly & Mark Adler 	for zlib library (http://www.zlib.net/) 

===================================================================================================

History:

2.0.7.8 [W&L] (10.11.2022)
	+ решена проблема упаковки при наличии файлов с одинаковыми именами 
 	+ улучшена распаковка/упаковка формата android boot v.0
 	+ распаковка/упаковка формата android boot v.1
	+ исправлена распаковка больших рамдисков (gzcpio/cpio);
	~ мелкие улучшения.
2.06 [W&L] (03.05.2017)
	+ добавлен ключ /symb;
	+ добавлено определение OS;
	~ оптимизированы некоторые участки кода;
	+ добавлен ключ /rmd4;
	~ использование WinAPI для создания каталогов (Windows);
2.05 [W&L] (12.03.2014)
	~ сделана "академическая" реализация алгоритма RC6;
	~ сделана "академическая" реализация алгоритма Twofish;
	~ изменена структура каталога распакованной прошивки;
	~ оптимизированы некоторые участки кода;
	~ устранен баг определения базового пути в linux-версии;
	~ устранен баг при работе с файлами > 2GB;
	+ добавлен ключ /2nd;
	+ добавлена поддержка формата Android boot image;
	+ добавлена поддержка формата gzip/cpio archive file;
	+ добавлена поддержка формата cpio_ascii_new archive file;
	+ добавлена поддержка формата sparse image (распаковка);
	+ добавлена поддержка прошивок формата OndaSuit;
	- удален ключ /old;
	- удален ключ /unimg (режим совместимости с unimg);
	~ устранены мелкие ошибки в коде;
	~ мелкие улучшения.
2.04 [W&L] (18.02.2013)
	+ определение формата файла раздела (iso) прошивки;
	- устранены мелкие ошибки в коде;
	~ мелкие улучшения.
2.03 [W&L] (05.02.2013)
	+ добавлена поддержка формата PhoenixSuit;
        + добавлен блок [IMAGE_CFG] файла конфигурации образа *.cfg (частично);
	+ добавлен ключ /mono;
	- устранены мелкие ошибки в коде;
	~ мелкие улучшения.
2.02 [W&L] (05.10.2012)
	~ версионность Windows и Linux вариантов утилиты выравнена во избежание путаницы;
	+ добавлен ключ /old (переключение на модифицированный старый метод);
	+ добавлено ограничение размера прошивки при котором происходит автоматическое переключение
	  на модифицированный старый метод;
	+ добавлена работа с *.ini файлом;
	+ добавлен ключ /ini;
	+ добавлен ключ /skip;
	- исправлена ошибка определения пути файла при разных стилях сохранения имени в file.hdr;
	- устранены мелкие ошибки в коде;
	~ мелкие улучшения.
1.00 [Lin] (01.08.2012)
	! Release
2.01 [Win] (01.08.2012)
	- устранен bug с созданием пустых каталогов;
	+ добавлен ключ /latin;
	~ мелкие улучшения.
2.00 [Win] (03.07.2012)
	~ изменен алгоритм работы с памятью для увеличения производительности.
1.05 [Win] (11.05.2012)
	+ корректная обработка файлов с цифровой подписью.
1.04 [Win] (17.04.2012)
	- исправлена работа с большим количеством файлов в прошивке.
1.03 [Win] (14.04.2012)
	- исправлено извлечение образов дисков из lzma-архивов в прошивках с длинными путями.
1.02 [Win] (20.02.2012)
	- исправлена работа с путями в UNIX-стиле в заголовках.
1.01 [Win] (17.02.2012)
	- исправлена работа с файлами, в названии которых содержатся пробелы;
	+ мелкие улучшения.
1.00 [Win] (14.02.2012)
	! Release

===================================================================================================
