uib2t :: by drakkar1969 :: Version 1.0.3 BETA
Convert binary UIFILE resources to XML text format

This program DOES NOT MODIFY system files in any way

USAGE:

   uib2t -file binfile [destfolder]

-or-

   uib2t -sys sysfile id [destfolder]

Parameters:

   -file        Convert binary file(s) to XML text (see note 1)

   binfile      Binary file(s) to convert, specify multiple files using
                wildcards (* and ?). Path can be omitted if the files to
                convert are in the same folder as the uib2t program. If a path
                is specified, it must be a fully qualified path; use quotes
                if contains spaces, can include environment variables.

   destfolder   Optional parameter. Destination folder for converted XML text
                files. Fully qualified path, use quotes if contains spaces,
                can include environment variables. If omitted, converted XML text
                files will be saved in the same folder as the source binary files.

Parameters:

   -sys         Extract one or more binary UIFILE resources from a system file
                (.exe, .dll, ...) and convert to XML text

   sysfile      System file containing binary UIFILE resources to extract.
                Fully qualified path, use quotes if contains spaces, can
                include environment variables.

   id           ID(s) of UIFILE resources to convert, can be:
                - a single UIFILE ID (e.g. 40960)
                - a comma separated list of UIFILE IDs (e.g. 23,24,25)
                - * to include all UIFILE resources in the source file

   destfolder   Optional parameter. Destination folder for converted XML text
                files. Fully qualified path, use quotes if contains spaces,
                can include environment variables. If omitted, converted XML text
                files will be saved in a sub-folder of the uib2t program folder
                with the same name as the source system file (e.g. "shell32.dll"
                sub-folder).

NOTES:

1. When using the -file option, the binary file(s) to convert must be in raw
   binary format (file extension is irrelevant).

   To extract UIFILEs from system files in raw binary format:
   * Restorator: Resources menu -> Extract -> Extract as -> Extract as ".raw"
   * ResHacker: Action menu -> Save resource as a binary file

2. Converted XML text file(s) are saved with a .uib2t.txt extension.

3. When converting multiple UIFILE(s) (either source binary files or binary
   resources in a system file) UIFILE resources that are in text format
   or cannot be converted will be automatically skipped.
   An example is the RIBBON resource in ExplorerFrame.dll, which is not a
   binary UIFILE resource and cannot therefore be converted.

EXAMPLES:

* Convert a single binary file to XML text (file is in the uib2t program folder):

   uib2t -file 40960.raw

* Convert all .raw files in a folder to XML text, specifying destination folder:

   uib2t -file "D:\source path\*.raw" E:\destpath

* Extract a single UIFILE (40960) from ExplorerFrame.dll and convert to XML text:

   uib2t -sys c:\windows\system32\explorerframe.dll 40960 e:\destpath

* Extract multiple UIFILEs (23, 24 and 25) from shell32.dll and convert to XML
  text (environment variable used to specify source file); output XML files are
  saved in the "shell32.dll" sub-folder of the uib2t program folder:

   uib2t -sys "%SystemRoot%\system32\shell32.dll" 23,24,25

* Extract all UIFILEs from ExplorerFrame.dll and convert to XML text
  (environment variable used to specify source file):

   uib2t -sys "%SystemRoot%\system32\ExplorerFrame.dll" * "d:\long path"

* Extract all UIFILEs from ExplorerFrame.dll and convert to XML text; ouput
  XML files are saved in the "ExplorerFrame.dll" sub-folder of the uib2t
  program folder:

   uib2t -sys "c:\windows\system32\ExplorerFrame.dll"