PBDumper

Powerbuilder library dumper

This project is maintained by sebkirche

PBDumper - PowerBuilder Library extractor

(C) 2008-2009, 2011-2013 Sébastien Kirche

PBDumper can dump the content of a Powerbuilder PBL, PBD (that is a PBL without source code), exe or dll. For PBLs it extracts the sr? objects in importable form.

That tool could never be done without the invaluable information published by Arnd Schmidt at http://www.dwox.com/PBL_File_Format.txt

The code inside pbdumper began its existence as a proof of concept for pb library relocation, needed to fix a PB executable after the modification of VersionInfo resource that will make the executable bigger (or smaller). That size modification may cause a displacement of the PB code by multiples of 512 bytes (the aligment bound of a win32 executable resources).

By crawling the inners of the PB lib, I realized that it could be possible to reuse the parsing code to extract all the objects that are packed inside of it.

Now, pbdumper is a tool by itself, able to show all the objects in a library, either a standalone (PBL, PBD) or at the tail of a win32 module (EXE, DLL).

It has been successfuly tested on pbls from PB v5 to v11.5 and could reasonably work with PB v12.x (as I doubt that the library format will change)

Usage:

Usage : pbdumper.exe [options] <name_of_pb_file>

Options can be one or combination of the following (you can join the short form of the options in a single argument):

--help,-h shows the list or the possible parameters

--dry-run,-d Simulate, do not write anything on the disk

--folder,-f Save the lib content in a folder that will be named {name_of_pbl}-dump

--list,-l List only the items in the library, do not process anything, compatible with --source-only

--name,-n <wildcard> Filter the object names on the given wildcard, for example *.sru

--source-only,-s Dump only source files (that is sr* objects) and ignore compiled binaries

--out-format,-o <FMT> Output format for source files : U8 (utf-8) | U16 (utf-16le) | HEXA (HexAscii) | ANSI

--scc Output directly SCC info to console instead of putting it into lib_name-sccdata.txt

--verbose,-v Verbose output, show some additional (debug) info

--debug,-g More verbose output (show info useful for debugging)