Python module that parse power builder file (PBD) and analyze code

Overview

PowerBuilder-decompile

Python module that parse power builder file (PBD) and analyze code (Incomplete) this tool is composed of:

  • pbd_dump.py this tool extract files from pbd file and save it to folder named
  • analyse_folder.py after extract pbd into folder you can use this tool to decompile supported files ("win", "fun", "udo")
  • analyse.py this tool is used to decompile one file with extension ("win", "fun", "udo") by create a folder with name of the file and put inside it the code in hierarchical
  • all the above steps is done in one step using python file pbd_analyse.py

please note:

  • the work still incomplete
  • I test against PB version 6
  • the code result from decompilation is not related to any known programming language. I just make it as simple and descriptive as possible
  • I will be happy if someone want to share or modify the code
You might also like...
This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that have that extension.
This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that have that extension.

FileBulk This is a file deletion program that asks you for an extension of a file (.mp3, .pdf, .docx, etc.) to delete all of the files in a dir that h

Small-File-Explorer - I coded a small file explorer with several options
Small-File-Explorer - I coded a small file explorer with several options

Petit explorateur de fichier / Small file explorer Pour la première option (création de répertoire) / For the first option (creation of a directory) e

Pti-file-format - Reverse engineering the Polyend Tracker instrument file format

pti-file-format Reverse engineering the Polyend Tracker instrument file format.

Generates a clean .txt file of contents of a 3 lined csv file

Generates a clean .txt file of contents of a 3 lined csv file. File contents is the .gml file of some function which stores the contents of the csv as a map.

PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.
PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.

PaddingZip - a tool that you can craft a zip file that contains the padding characters between the file content.

Extract longest transcript or longest CDS transcript from GTF annotation file or gencode transcripts fasta file.

Extract longest transcript or longest CDS transcript from GTF annotation file or gencode transcripts fasta file.

Two scripts help you to convert csv file to md file by template

Two scripts help you to convert csv file to md file by template. One help you generate multiple md files with different filenames from the first colume of csv file. Another can generate one md file with several blocks.

Python Fstab Generator is a small Python script to write and generate /etc/fstab files based on yaml file on Unix-like systems.

PyFstab Generator PyFstab Generator is a small Python script to write and generate /etc/fstab files based on yaml file on Unix-like systems. NOTE : Th

This python project contains a class FileProcessor which allows one to grab a file and get some meta data and header information from it
This python project contains a class FileProcessor which allows one to grab a file and get some meta data and header information from it

This python project contains a class FileProcessor which allows one to grab a file and get some meta data and header information from it. In the current state, it outputs a PrettyTable to txt file as well as the raw data from that table into a csv.

Comments
  • unpack requires a buffer of 8 bytes

    unpack requires a buffer of 8 bytes

     File "pbd/definitions.py", line 389, in __init__
        length1, length2 = struct.unpack("<II", file.read(8))
      File "pbd/definitions.py", line 260, in __init__
        self.const_ = ConstData(file)
      File "pbd/definitions.py", line 1149, in __init__
        temp = Lookup(file)
      File "analyse_folder.py", line 22, in <module>
        group = definitions.Group(os.path.join(sys.argv[1], file))
    

    on command python3 analyse_folder.py <output-folder-of-pbd_dump>

    I cannot share the file that I am investigating, but I am investigating this issue.

    opened by Sp0Q1 11
  • not support single byte

    not support single byte

    Base on the 'PBL File Format' (http://www.dwox.com/PBL_File_Format.txt) written by Arnd Schmidt, there are 2 format of 'Library Header Block'. One is 512 btye, the other is Unicode (1024 byte). In Header.init(), you use 'file.read(24).decode('utf16')'. It only supports Unicode. The header of my pdb as below, 48 44 52 2A 50 6F 77 65 72 42 75 69 6C 64 65 72 00 00 30 36 30 30 DE B8 3B 5B 00 00 00 00 00 00 HDR*PowerBuilder..0600..;[.......

    opened by EugeneJLZhang 2
Owner
Samy Sultan
Samy Sultan
Extract an archive file (zip file or tar file) stored on AWS S3

S3 Extract Extract an archive file (zip file or tar file) stored on AWS S3. Details Downloads archive from S3 into memory, then extract and re-upload

Evan 1 Dec 14, 2021
ValveVMF - A python library to parse Valve's VMF files

ValveVMF ValveVMF is a Python library for parsing .vmf files for the Source Engi

pySourceSDK 2 Jan 2, 2022
A simple Python code that takes input from a csv file and makes it into a vcf file.

Contacts-Maker A simple Python code that takes input from a csv file and makes it into a vcf file. Imagine a college or a large community where each y

null 1 Feb 13, 2022
A simple file module for creating, editing and saving files.

A simple file module for creating, editing and saving files.

null 1 Nov 25, 2021
A python script to convert an ucompressed Gnucash XML file to a text file for Ledger and hledger.

README 1 gnucash2ledger gnucash2ledger is a Python script based on the Github Gist by nonducor (nonducor/gcash2ledger.py). This Python script will tak

Thomas Freeman 0 Jan 28, 2022
Python package to read and display segregated file names present in a directory based on type of the file

tpyfilestructure Python package to read and display segregated file names present in a directory based on type of the file. Installation You can insta

Tharun Kumar T 2 Nov 28, 2021
Search for files under the specified directory. Extract the file name and file path and import them as data.

Search for files under the specified directory. Extract the file name and file path and import them as data. Based on that, search for the file, select it and open it.

G-jon FujiYama 2 Jan 10, 2022
This is just a GUI that detects your file's real extension using the filetype module.

Real-file.extnsn This is just a GUI that detects your file's real extension using the filetype module. Requirements Python 3.4 and above filetype modu

null 1 Aug 8, 2021
File-manager - A basic file manager, written in Python

File Manager A basic file manager, written in Python. Installation Install Pytho

Samuel Ko 1 Feb 5, 2022
gitfs is a FUSE file system that fully integrates with git - Version controlled file system

gitfs is a FUSE file system that fully integrates with git. You can mount a remote repository's branch locally, and any subsequent changes made to the files will be automatically committed to the remote.

Presslabs 2.3k Jan 8, 2023