- Практическое руководство. Сжатие и извлечение файлов How to: Compress and extract files
- Пример 1: Создание и извлечение ZIP-файла Example 1: Create and extract a .zip file
- Пример 2: Извлечение файлов с определенными расширениями Example 2: Extract specific file extensions
- Пример 3. Добавление файла в существующий ZIP-файл Example 3: Add a file to an existing zip
- Пример 4. Сжатие и распаковка GZ-файлов Example 4: Compress and decompress .gz files
- How to unpack a tar file in Windows
- Contents
- Introduction
- TarTool
- Zip and unzip files
- UnPacker 1.5.0.1909
- Основная информация о программе
- Unpack file in windows
Практическое руководство. Сжатие и извлечение файлов How to: Compress and extract files
Пространство имен System.IO.Compression предоставляет следующие типы для сжатия и распаковки файлов и потоков. The System.IO.Compression namespace contains the following types for compressing and decompressing files and streams. Вы также можете использовать эти типы для чтения и изменения содержимого сжатого файла. You can also use these types to read and modify the contents of a compressed file.
В примерах ниже показано несколько операций для работы со сжатыми файлами. The following examples show some of the operations you can perform with compressed files. Для этих примеров требуется добавить в проект следующие пакеты NuGet: These examples require the following NuGet packages to be added to your project:
Если вы используете .NET Framework, добавьте в проект ссылки на эти две библиотеки: If you’re using .NET Framework, add references to these two libraries to your project:
Пример 1: Создание и извлечение ZIP-файла Example 1: Create and extract a .zip file
В следующем примере показано, как создавать и извлекать сжатый файл .zip с помощью класса ZipFile. The following example shows how to create and extract a compressed .zip file by using the ZipFile class. Он сжимает содержимое папки в новый ZIP-файл и затем извлекает его в новую папку. The example compresses the contents of a folder into a new .zip file, and then extracts the zip to a new folder.
Чтобы запустить пример, создайте папку start в папке программы и заполните ее файлами для сжатия. To run the sample, create a start folder in your program folder and populate it with files to zip.
Пример 2: Извлечение файлов с определенными расширениями Example 2: Extract specific file extensions
В этом примере выполняется итерация по содержимому существующего ZIP-файла и извлекаются файлы с расширением .txt. The next example iterates through the contents of an existing .zip file and extracts files that have a .txt extension. Здесь используется класс ZipArchive для доступа к ZIP-файлу и класс ZipArchiveEntry для проверки отдельных элементов. It uses the ZipArchive class to access the zip, and the ZipArchiveEntry class to inspect the individual entries. Метод расширения ExtractToFile для объекта ZipArchiveEntry доступен в классе System.IO.Compression.ZipFileExtensions. The extension method ExtractToFile for the ZipArchiveEntry object is available in the System.IO.Compression.ZipFileExtensions class.
Чтобы запустить пример, поместите ZIP-файл с именем result.zip в папку программы. To run the sample, place a .zip file called result.zip in your program folder. По запросу укажите имя папки для извлечения. When prompted, provide a folder name to extract to.
При распаковке файлов важно убедиться в отсутствии вредоносных путей, которые могут вести за пределы каталога, в который вы извлекаете файлы. When unzipping files, you must look for malicious file paths, which can escape out of the directory you unzip into. Такая атака известна как обход путей. This is known as a path traversal attack. В следующем примере показано, как правильно проверить наличие вредоносных путей и безопасно извлечь файлы. The following example demonstrates how to check for malicious file paths and provides a safe way to unzip.
Пример 3. Добавление файла в существующий ZIP-файл Example 3: Add a file to an existing zip
В следующем примере используется класс ZipArchive для доступа к существующему ZIP-файлу и добавления в него файла. The following example uses the ZipArchive class to access an existing .zip file, and adds a file to it. Новый файл сжимается при добавлении в существующий ZIP-файл. The new file gets compressed when you add it to the existing zip.
Пример 4. Сжатие и распаковка GZ-файлов Example 4: Compress and decompress .gz files
Также вы можете использовать классы GZipStream и DeflateStream для сжатия и распаковки данных. You can also use the GZipStream and DeflateStream classes to compress and decompress data. Они применяют тот же алгоритм сжатия. They use the same compression algorithm. Вы можете распаковать объекты GZipStream, которые записаны в GZ-файл, с помощью многих распространенных средств. You can decompress GZipStream objects that are written to a .gz file by using many common tools. В следующем примере показано, как использовать класс GZipStream для сжатия и распаковки каталога файлов. The following example shows how to compress and decompress a directory of files by using the GZipStream class:
How to unpack a tar file in Windows
Contents
Introduction
Source code is often packed for download as a TAR (Tape ARchive) file, that is a standard format in the Unix/Linux world. These files have a .tar extension; they can also be compressed, the extension is .tar.gz or .tar.bz2 in these cases. There are several ways to unpack these files.
If you have MinGW/MSYS or Cygwin installed, you can use the tar command to unpack such files:
Try tar —help or see the tar man page for more information.
Another option is to install 7-Zip, which has a nice graphical user interface. 7-Zip can also be used to unpack many other formats and to create tar files (amongst others).
- Download and install 7-Zip from 7-zip.org. If you do not want to use 7-Zip as a command line tool, skip the next steps.
- Add the directory you installed 7-Zip into to your path (Start -> Control Panel -> System -> Advanced -> Environment Variables).
- Move the tar file to the directory you wish to unpack into (usually the tar file will put everything into a directory inside this directory).
- Open a command prompt, and cd to the directory.
- If the tar file is compressed, type 7z x filename.tar.gz at the command prompt (where filename.tar.gz is the name of the compressed tar file). This results in a tar file called filename.tar
- Type 7z x filename.tar at the command prompt (where filename.tar is the name of the tar file).
Instead of using 7-Zip on the command line, you can use the file manager and click on a .tar, .tar.gz, or.tar.bz2 file; 7-Zip will automatically start.
TarTool
A simple windows command line tool (no install , just unzip)
Its hosted on codeplex tartool, complete with the source code.
Zip and unzip files
Zipped (compressed) files take up less storage space and can be transferred to other computers more quickly than uncompressed files. In Windows, you work with zipped files and folders in the same way that you work with uncompressed files and folders. Combine several files into a single zipped folder to more easily share a group of files.
Locate the file or folder that you want to zip.
Press and hold (or right-click) the file or folder, select (or point to) Send to, and then select Compressed (zipped) folder.
A new zipped folder with the same name is created in the same location. To rename it, press and hold (or right-click) the folder, select Rename, and then type the new name.
Locate the zipped folder that you want to unzip (extract) files or folders from.
Do one of the following:
To unzip a single file or folder, open the zipped folder, then drag the file or folder from the zipped folder to a new location.
To unzip all the contents of the zipped folder, press and hold (or right-click) the folder, select Extract All, and then follow the instructions.
To add files or folders to a zipped folder you created earlier, drag them to the zipped folder.
If you add encrypted files to a zipped folder, they’ll be unencrypted when they’re unzipped, which might result in unintentional disclosure of personal or sensitive information. For that reason, we recommend that you avoid zipping encrypted files.
Some types of files, like JPEG images, are already highly compressed. If you zip several JPEG pictures into a folder, the total size of the folder will be about the same as the original collection of pictures.
UnPacker 1.5.0.1909
Автор | Lars Werner |
Языки | Английский |
Лицензия | Freeware (Бесплатная) |
Основная информация о программе
UnPacker — бесплатная программа, которая может быстро распаковывать файловые архивы большого объема в форматах RAR и ZIP. Приложение отлично работает с архивами, содержащими множество небольших файлов и с многотомными архивами.
Программа имеет функцию пакетной обработки архивов и располагает планировщиком заданий, позволяющим поочередно распаковывать архивы, добавленные пользователем в очередь. Поддерживается установка приоритетов для архивов, находящихся в очереди. В ходе извлечения архивов программа дает возможность приостанавливать и в нужный момент возобновлять процесс распаковки. После извлечения архива приложение может автоматически удалять источник (указывается в настройках), чтобы не заполнялось свободное место на жестком диске. Также UnPacker поддерживает работу с архивами, защищенными паролями.
Программа дает возможность просматривать содержимое архивов и предоставляет пользователю подробную информацию о количестве и размерах файлов внутри пакета, общем размере тома, дате создания архива и т.д. Кроме того, приложение обладает функцией переименования извлекаемых файлов и каталогов. Также программой ведется подробный журнал логов, который может предоставляться пользователю в отдельном файле или отправляться по электронной почте.
Дополнительные функции UnPacker позволяют просканировать жесткий диск на наличие файловых архивов, которые могут быть автоматически распакованы программой или добавлены в очередь планировщика заданий. Кроме того, функционал программы интегрирован в контекстное меню Windows. Таким образом, кликнув правой клавишей мыши на любой папке на жестком диске, можно быстро просканировать каталог на предмет наличия файловых архивов без необходимости предварительно запускать саму программу.
Unpack file in windows
Обработка (распаковка и сборка) прошивок и образов (*.img, *.bin) строго под WINDOWS
Эта тема создана для продолжения обсуждения и помощи в обработке различных образов под Windows, начало было положено в другой теме, но автор негативно воспринял обсуждения, не касающиеся его средства, предложил обсуждать в личке или завести другую тему. Я категорически против общения по личке, поскольку много народу не увидит обсуждаемой информации, которая может оказаться очень полезной, и не сможет внести свою лепту в обсуждение. Поэтому пришел к решению создать эту тему. В ней хочу предложить свои утилиты для распаковки образов формата EXT2\EXT3\EXT4\SPARSE\YAFFS2, свой вариант кухни для распаковки\запаковки полных прошивок под Rockchip, MTK (в виде файлов *.img или архивов *.tar(rar)) и содержащихся внутри прошивок отдельных образов типа system, kernel, recovery, boot. Это то что уже сделано и работает, в ближайших планах подружить распаковщик с образами *.SIN (формат для Sony Xperia)
Обновлено: 30.07.2014 пересобранная make_ext4fs — утилита для сборки образов в формате EXT4 и SPARSE EXT4 (добавлен способ сборки system через ‘таскание мышкой’)
AndImgTool (Android Image Tool) — утилита для распаковки и обратной сборки загрузочных образов типа BOOT и RECOVERY для ARM-платформы, неважно какой проц устройства (рокчип, медиатек и т.д. и т.п.), важно какого стандарта придерживался производитель! На данный момент поддерживаются следующие форматы: Android Boot Image (так же и с оберткой MTK внутренних блоков кернела и рамдиска и с новым блоком DTB), KRNL Image, UBOOT Image (форматы паковки: none, LZMA, GZIP), распаковка\запаковка полных прошивок для RockChip (RKFW\RKAF)
Подробнее про утилиту, список протестированных устройств , инструкция, скрины и логи тут.
AndImgTool версия 1.3.0 Обновлено: 30.12.2014 релиз и подробности тут
— Добавлена поддержка распаковки\запаковки x86 загрузочных образов (функционал перенесен из утилиты xImgTool)
AndImgTool версия 1.2.3 AndImgTool_1_2_3.rar ( 196,69 КБ )
Обновлено: 13.11.2014 — обновление функционала, подробности тут
Пробуйте и отписывайтесь о результатах, если все удачно распаковалось и собралось в рабочий вариант напишите производителя и модель устройства (добавлю в список проверенных устройств), если утилита не справилась с образом, то ко всему вышеперечисленному в своем сообщении прикрепите этот проблемный образ (вряд ли они будут больше 20 мегабайт).
ImgExtractor — основная утилита для распаковки образов файловых систем типа system, userdata, cache, secro (расширение может быть любое, например img или ext4).
Поддерживаются следующие форматы файловых систем: EXT2\EXT3\EXT4\YAFFS2\CRAMFS, форматы структуры образов (обертки) SPARSE\SIN( 1, 2 и 3 версии)\MOTO, поддерживается конвертация образа файловой системы формата EXT4 из обертки SIN или SPARSE непосредственно в EXT4, реализован вывод информации о суперблоке для образов файловых систем, дальше будет развиваться именно эта утилита.
ImgExtractor версия 1.3.7 Обновлено: 13.02.2015 релиз и подробности тут
— добавлена поддержка распаковки образов SPARSE-Marvell для MOTO
— исправлено падение утилиты при распаковке образов содержащих файлы с символами «?»
— добавлена идентификация формата UBIFS и обертки MOTO внутри SPARSE формата
— добавлена конвертация образов из EXT3\EXT4 в SPARSE с разбиением на файлы меньшего размера
xImgTool — утилита для распаковки\запаковки загрузочных образов (IMG, BIN) и контейнеров (INB, SZB, QSB ) для устройств на базе x86 Android Platform (Lenovo K900, Ramos i9, Asus ZenFone 4,5,6, ZTE Geek)
xImgTool версия 1.3.32xImgTool_1_3_32.rar ( 40,86 КБ )
ОБНОВЛЕНО: 06.11.2014
— поддержка нового размера блока bootstub
— сохранение новых атрибутов в блоке размеров
— при распаковке контейнера QSB части, участвующие при объединении в один файл, сохраняются в отдельной папке в оригинальном виде (особенно касается образов system и userdata)
В связи с тем, что основной функционал кухни перешел в единую утилиту AndImgTool, не требующую для своей работы никаких дополнительных CYGWIN DLL, настоятельно рекомендую использовать для работы с загрузочными образами именно AndImgTool (для образов файловых систем есть единая утилита ImgExtractor), поскольку пересборок кухни больше не планируется.
Мой вариант кухни для распаковки целиковых прошивок под Rockchip, MTK и их содержимого. Изначально делал эту модификацию под себя — для удобства вытаскивания файлов system из разных прошивок, оригинальная версия тут.
17.05.2014 ОБНОВЛЕНО Пересобранная версия genext2fs для малого размера оперативной памяти
24.02.2014 ОБНОВЛЕНО
— Обновлена утилита ImgExtractor (текущая версия 1.3.4), использующаяся для распаковки system.img в форматах EXT2\EXT3\EXT4\SPARSE\YAFFS2\CRAMFS
— Обновлена CYGWIN-утилита genext2fs, использующаяся при сборке образов в формате EXT2\EXT3\EXT4 ( основное исправление — старая версия не позволяла собирать образы больше 671087616 байт подробнее тут), так же добавил еще несколько изменений, про которые отпишусь тут.
— Добавлена утилита CYGWIN-утилита sparse2img для конвертации SPARSE образов в обычные IMG, собрана на основе simg2img, но основное отличие от оригинала — возможность «наката» SPARSE на уже сущестующий образ IMG, это актуально при конвертации образов system от MOTO G, которые разбиты на несколько частей. Подробнее тут.
— Добавлено логирование сборки образа EXT3\EXT4 (для активного проекта создается файл log.txt)
— Добавлены скрипты (BAT-файлы в папке RKwinToolsMod_v2_8\Scripts\): ConvertMotoG.bat — для облегчения конвертации system от MOTO G и CreateFSimage.bat — для облегчения сборки любого образа в EXT3\EXT4 (ранее был выложен тут)
RKwinToolsMod версия 2.8 RKwinToolsMod_v2_8.rar ( 6,43 МБ )
RKwinToolsMod версия 2.7 RKwinToolsMod_v2_7.rar ( 6,38 МБ )
13.02.2014 ОБНОВЛЕНО
— Обновлена утилита ImgExtractor (текущая версия 1.3.1), использующаяся для распаковки system.img в форматах EXT2\EXT3\EXT4\SPARSE\YAFFS2\CRAMFS
— Исправлена проблема с правами (владельцем и группами) при сборке образов в формате YAFFS2 ( про обнаруженные проблемы и их решение можно прочитать тут и тут)
RKwinToolsMod версия 2.6 RKwinToolsMod_v2_6.rar ( 6,38 МБ )