Author: Mikero
All Mikero tools 'behave', install, and operate in an identical manner. You are strongly advised to read the General Readme once.
WIN VISTA and beyond. This exe is not compatible with winxp.
pbo
In this documentation 'pbo' is meant to infer SomeFile .pbo.
To avoid the risk of tediousness everywhere else, a 'pbo' can actually be an .xbo .ebo, .ifa, or, indeed, a .pbo. If a .toh ever gets introduced (or any other 'pbo' extension) you can be sure the underlying dll will 'understand' it is a Packed Binary Object. Any mention anywhere in these document files which refer 'Dos' also mean they are used in the linux and MacOS versions. The Gui versions are only for windows.
ExtractPbo does what its name suggests.
There are, in fact, two separate tools.
ExtractPboGui works in an identical manner to ExtractPbo in console mode. Console mode occurs when the command line contains any paramaters.
ExrtactPbo some.pbo
ExtedctPboGuu some.pbo //identical behaviour
ExtractPbo covers the nuances of all Bis 'pbo' files from the very first cwc demo to Arma3 and DayZ. This includes (but is not limited to):
Extractpbo will not extract 'ebo' files.
In the following documentation a 'pbo' is considered to be: .pbo, .ifa, ,ebo, .xbo
ExtractPbo uses a heuristic approach to output the best possible results to the best-possible output folder. While you can over-ride the default options the general scenario is that the extractor will:
a $pboPrefix$.txt is always written out, even for flashpoint pbos, because it is the header of the pbo that (generally) contains a lot more properties than a simple prefix=. In the specific case of prefix= itself (if any) .The mechanism for Makepbo packing a pbo IS the\path\to\folder. The prefix stated in the decoded .txt is not intended for use. Be careful about using the same $pboPrefix that you extracted.
A no nonsense auto installer saving you sweat and tears.
After installation, Do not run this, or any other mikero tool, as an admin user.
Code exists in all tools to explicitly fail if that is the case. This to protect your pc.
'AsAdmin' is not what you think it is, it is an alias for 'Microsoft Office Use only'.
Consider yourself warned.
Grab the Mikero Aio instllaer here. It will download ALL files that you are entitled to (free or subscriber) and keep them uptodate.
extractpbo [-options...] NameOfPbo[.pbo|.xbo|.ebo]/aFolder/AnExtractionList [SomeFolder]
like all mikero tools, -options are case insensitive.
like all mikero tools, typing 'extractpbo' with no cmdline arguments will display syntax
.extensions are not required. a 'pbo' is considered to be ANY .xbo,.ebo,*pbo
-F
| filelist[,...] name(s) of file(s) to extract. Extracted file(s) will appear in their 'correct' position in the relevent output folder tree. Thus, multiple instances of config.cpp (eg) can be extracted. A minor form of wildcard the aster dot sequence can indicate 'all' extensions of that type.-L
| List contents only (do not extract)-LB
| brief dir style output-N
| Noisy-P
| Don't pause-W
| Warnings are errorsDistinctions exist between folder output for OFP vs non OFP (ARMA)
The dll detects the difference.
Thus:
For OFP:
extractppo thing.pbo >> contents to thing\
extractpbo thing.pbo anywhere >> contents to anywhere\thing\
For ARMA:
extractppo thing.pbo >> contents to thing'prefix'\
extractpbo thing.pbo drive:\anywhere >> contents to contents to anywhere'prefix'\
The anywhere clause for arma allows creation of a p:\ca by specifying
extractpbo thing P:\
Be WARNED
Extractpbo will add folders to existing ones, BUT, it will NOT over-write exisitng content.
If you specify an 'interesting' destination. you will get, 'interesting' results.
** Fundamentally, a folder is created of the same name as the pbo in the same folder as the pbo.
** Arma pbo's will, in addition, create subfolders based on the detected prefix. Thus:
ExtractPbo Thing
OFP: pbo thing.pbo -> thing...
ARMA: pbo thing.pbo -> thing\Prefix...
ExtractPbo thing P:\
thing.pbo ->P:\prefix... Will create a perfect namespace based on the prefix.
ExtractPbo thing -k P:\
thing.pbo ->P:\thing\prefix...
ExtractPbo thing P:\SomeWhere
thing.pbo ->P:\Somewhere\prefix...
ExtractPbo -K thing P:\SomeWhere
thing.pbo ->P:\Somewhere\thing...
You can't. drive: MUST be specified
extractpbo thing
Will extract thing.pbo to thing\ folder and derapify any content (such as mission.sqm) that has been binarised.
extractpbo -L thing
Does a dir listing of pbo content along with added info.
extractpbo Folder [toSomewhere]
Will recurse subfolders of above searching for pbo files.
"1st/last entry has non-zero real_size, reserved, or BlockLength field"
"reserved field non zero anywhere in entry bodies (except xbo)"
"no shakey on arma"
Early pbo makers did not create the appended 21 byte sha. This causes issues only if attempting to sign the pbo for MP play.
"residual bytes in file" // throws an error anyway
Something has been either misinterpreted, or the pbo maker is at fault
"arma pbo is missing a prefix (probably a mission)";
Missions do not require prefix entries. But, as a matter of de-riguer, they normally have them.
ExtractPbo is ExtractPboDos with Window dressing (pun intended).
Major Features:
This application implements a consistent user interface. To whit:
All files extracted from a pbo are unconditionally:
All Saved As pbo's are unconditionally:
To keep the interface noise free and simple to use, there
is no facility for selective Parsing/Compression/Encryption. All of these 'features' use tried and proven algorithms inside the dll including which types of files require modification.
It will operate, just like before, in dos (console) mode, allowing batch file processing, drag n drop, and dos console operations. It will behave as nature intended, and as described, in the ExtractPbo readme. A more versatile and extensive range of -options exist in this mode for the connoisseur (or insane). The very popular Arma2P extractor for instance uses Dos Mode.
Windows mode is how most (new) users will prefer to use it.
ANY parameters supplied on the command line invoke Dos Mode. This occurs as a natural result of simply using it in a dos console to begin with and specifying a pbo to extract, or, dropping a file onto the exe icon. On the other hand, simply invoking this exe from a dos console with NO parameters, invokes the gui.
Windows mode uses previously recorded 'session' data of which files, what targets, to start with (including window positioning and size).
ExtractPboGui will extract the content of any 'pbo' except encrypted vbs2. (yes, it does extract vbs2lite)
The over-riding philosophy of all MikeroTools (not just this one) is to maintain backward compatibility. To this end, the same 'behaviour' can be expected from files emanating from the very first cwc demo, Resistance, Xbox Elite, Arrowhead, TOH, Arma3, IFA extensions, Vbs2lite. There are nuances to each type which the underlying dll takes care of. They are hidden from the user (and hidden from developers using the dll who only want to 'see' a uniform API). ExtractPboGui utilises over a decade of lessons learned in the dll about things-pbo. Underneath the covers it is exceptionally powerful and above all, robust.
Options available in this gui are intentionally bare
minimal. The intent being, 'just extract the damn thing'.
PboName
Use the browse button (...) to select any 'pbo' from anywhere, including net drives.
Output Path
Use the browse button (...) to select the beginning of the extraction point or simply type or paste it in. The Browse button allows you to create new folder(s) for the beginning should you wish to.
Note most carefully. This is the beginning path of all extracted content. From this point on, the nature of the pbo determines how that path will be filled (by prefix, by pboname).
If you wanted to re-create the bis engine's view of 'files', you would set the Output Path to "P:".
Destination Folder
ExtractPboGui autogenerates this path based on the OutputPath above, catenated with the internal prefix of the selected pbo (if any), or it is pboname (if none). There is no facility to change this catenated prefix.
Allow Overwrite
If the Destination Folder already exists, you will normally be asked before extracting. Allow Overwrite removes this sometimes annoying safety feature.
Be aware this is the Destination Folder being over-written, not, the entire Output Path.
Remove Folder Before Extraction
In a fair and reasonable world, you wouldn't want 'stale' paa's remaining via some previously extracted content. Or any other 'file' you might have placed there. Unfortunately the nature of Arma prefixed pbo's is such that nost of the pbo's live inside the file space of some other pbo. If you extracted Air3.pbo and THEN extracted Air.pbo (it's root). Air3 content would be inadvertently removed.
EXTRACT
Should speak for itself. The main purpose of this application!
SAVEAS
For whatever reason wanted, the current contents of this pbo can be saved anywhere, including a new name for the pbo, or indeed an existing pbo including the original. (protection dialogs exist).
The 'current' contents may indeed be 'as is' or some/ all /none of the contents may have been renamed/ added to, moved, or deleted.
Sneak Peak
The file and folder header entries of the 'pbo' are listed in this panel as soon as any valid file is selected. While exceptionally useful for advanced work, you can safely ignore them for simply extracting your 'pbo'.
Output Screen
Is (almost) identical to the dos console screen output on the dos mode of this exe
Initially it shows the basic pbo header type whenever a pbo is
selected. This, together with Sneak Peak, is useful when you're browsing multiple pbo's, not necessarily wanting to extract them.
Ultimately, this screen lists the content as it is being extracted: it is compression, it is encryption, it is (de)Rapification, and any errors encountered.
The list below of possibilities should all be intuitive.
You can:
As implemented, the Gui initialises in 'basic view'. Simply extend the edges of it is borders (or open in full screen mode) to view very-long-filenames eg, to suit your purpose.
Enjoy