Luigi Auriemma

aluigi@autistici.org


News
Advisories
Proof-of-concepts
Research
QuickBMS
Fake_players_bug
MyToolz
Password_recovery
Patches
MyMusic
TestingToolz
About...
RSS_feeds
Amiga_ADF
Forum
aluigi.org
mirror.aluigi.org
twitter
QuickBMS

Files extractor and reimporter, archives and file formats parser, advanced tool for reversers and power users and much more


  • QuickBMS generic files extractor and reimporter 0.5.2 (quickbms)
    scripts based files extractor and reimporter compatible with the BMS language (aka MexScript).

    it works with a minimalistic GUI if the executable is double-clicked (launched normally) or from both command-line if launched from the console.
    from command-line is possible to activate many useful and advanced options.
    the tool supports also the WCX packer plugins of Total Commander.

    History:
    the idea was born from the need of a simple and fast solution for handling the simple types of archives used by the majority of games without losing time writing a stand-alone tool with tons of C code just for a basic file format.
    so this tool has been created primarly for myself for creating my extractors quickly on the fly and secondary for any other user who wants do the same without learning a real programming language.
    the BMS language is basic, easy to use and exists from over 10 years, what I did was simply enhancing it for my personal requirements and for making the life easier when handling complex archives and file formats.

    Features:
    • open source and multiplatform (tested on Windows and GNU/Linux)
    • works from both command-line and GUI (Windows only)
    • reimport feature (reimport link or -r) for reinjecting the modified files back in the archives
    • support for the most and less known encryption algorithms, even some proprietary ones
    • support for the most and less known compression algorithms, even some proprietary ones
    • support for other types of algorithms (like base64) and/or obfuscations (xor, rot and so on)
    • support for the calling of DLLs and raw dumped functions with almost any known calling convention
    • support for bits operation and switchable little/big endian
    • simple and dynamic language that allows to make many operations reducing the percentage of archives and formats that can't be supported easily
    • verbose option (-V) that displays all the needed informations during reversing and testing of file formats
    • HTML output (-H) that automatically applies colors and names to the fields parsed during the usage of the scripts: example for q3infoboom.zip
    • possibility to use the tool as a blind scanner of compression algorithms over a raw unknown compressed data file: comtype_scan2.bms
    • support for network sockets and SSL
    • support for other alternative input/output interfaces like processes, audio, video and Windows messages
    • support for the visualization and creation of various types of data like x86 assembly, IP addresses, time_t, FILETIME, ClassID and more
    • support for C-like structures for easier handling of file formats by specifying simply the fields in C notation
    • support for the WCX packer plugins of Total Commander
    • read and write operations
    • quickbms_4gb_files.exe is a native 32bit program with all the variables at 64bit useful in some occasions
    • planned future development that will cover more advanced features for reversers and power users
    • scripts available for supporting hundreds of game file formats and thousand games

    Documentation:
    quickbms.txt
    the first 3 sections are intended for any user while the rest is ONLY for developers and advanced users.

    Usage and examples:

    QuickBMS is ever open to crazy ideas and suggestions so feel free to provide any feedback.

some of the most known and used scripts:
almost complete collection of other scripts, those written by me and not included in the previous list:
external scripts:
generic examples:
other example scripts relative to other stand-alone extractors already made by me in the Research page: