3 This repository is a fork of PHPdev32's implementation of the `pbzx` stream
4 parser program of which the original source code can be found [here][source].
5 Pbzx is a format employed in later versions of OSX disk images (starting with
6 10.10) to encode payload data in `.pkg` files. Pbzx unpacks `.pkg` files and
7 outputs to stdout to be unpacked with `cpio`. Note that `.pkg` files are plain
10 pbzx SomePkg.pkg | cpio -i # or
11 pbzx -n Payload | cpio -i
15 clang -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
17 > If `<lzma.h>` or `<xar/xar.h>` are missing, install them with [Homebrew]
20 > brew install xz && brew link xz
22 [source]: http://www.tonymacx86.com/general-help/135458-pbzx-stream-parser.html
23 [Homebrew]: http://brew.sh/
29 - Add `-v` flag to print version of `pbzx`
33 - Support unpacking from stdin and and plain pbzx files (see new command-line
35 - Add command-line flags
36 - Flag `-` specifies reading a pbzx file from stdin (currently does
37 not support xar input)
38 - Flag `-n` specifies that the file is a pbzx instead of a xar file
39 - Flag `-h` shows usage and some information, then exits
43 - Initial version with exact code from [source].
47 Copyright (C) 2017 Niklas Rosenstein
48 Copyright (C) 2014 PHPdev32
50 This program is free software: you can redistribute it and/or modify
51 it under the terms of the GNU General Public License as published by
52 the Free Software Foundation, either version 3 of the License, or
53 (at your option) any later version.
55 This program is distributed in the hope that it will be useful,
56 but WITHOUT ANY WARRANTY; without even the implied warranty of
57 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58 GNU General Public License for more details.
60 You should have received a copy of the GNU General Public License
61 along with this program. If not, see <http://www.gnu.org/licenses/>.