About This File
universal script based files extractor and reimporter.
QuickBMS supports tons of games and file formats, archives, encryptions, compressions, obfuscations and other algorithms.
QuickBMS uses a minimalistic GUI if the executable is double-clicked (launched normally) or from command-line if launched from the console, by using this second mode or a link to the executable it's possible to activate many useful and advanced options.
History:
- the idea was born from the need of a simple and fast solution for handling the archives used by the majority of games without wasting time writing a stand-alone tool with tons of C code just for a basic file format.
- so this tool has been created mainly for myself for creating my extractors quickly on the fly, and secondly 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 making the life easier when handling complex archives and file formats.
Features:
- open source and multiplatform, tested on Windows (even Win98) and GNU/Linux (x86 and PPC)
- works from both command-line and GUI (Windows only, just double-click on quickbms.exe)
- reimport and reimport2 modes for reinjecting the modified files back to the archives
- support for tons of encryption algorithms, even some proprietary ones
- support for tons of compression algorithms (over 700), even some proprietary ones
- support for tons of hashing algorithms
- support for other types of algorithms (like base64) and/or obfuscations (xor, rot and so on)
- support for calling 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 details 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 zip.bms on q3infoboom.zip
- possibility to use the tool as a blind scanner of compression, encryption and crc/checksum algorithms
- support for network sockets, SSL and http/https
- support for other alternative input/output interfaces like processes (included debugging and automatic breakpoint restoring), 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 and basic syntax for easy handling of file formats
- support for any command-line decompressor/decrypter/anything_else via the EXECUTE method (Comtype and Encryption commands)
- read and write operations
- quickbms_4gb_files.exe is a native 32bit program with all the variables set as 64bit useful in some situations
- planned future development that will cover more advanced features for reverse engineers and power users
- customizable CRC engine
- tons of scripts supporting hundreds of file formats and thousands of games
- experimental games localization (strings editing)
- creation of ISO images and ZIP archives as alternative outputs
- embedded C compiler to use C functions at runtime
- support for embedded Python and Lua scripts
- experimental IPC interfaces: named pipes, mailslot, web and dll
- support for the WCX packer plugins of Total Commander
Created by great Aluigi