Skip to content
@SabreTools

SabreTools

SabreTools Organization Logo

Welcome to the SabreTools family of projects! Below you can learn about the various projects under the SabreTools umbrella, including links to each. SabreTools projects are maintained by mnadareski with contributions by many dedicated developers and hobbyists.

Projects generally use the MIT License and all serious contributions are welcome. All projects that utilize C# are designed to be as broadly compatible across .NET versions as possible, often stretching as old as .NET Framework 2.0.

The SabreTools program logo was designed by Kludge and the current organization logo was designed by Whatever Industries. Both are used with permission in their respective contexts.



Programs

The SabreTools family of projects includes multiple programs that are designed to fit some very specific niches, often in the realm of media preservation and data processing. Most of the programs below are commandline applications, with the exception of the UI components of MPF.

Media Preservation Frontend, or just MPF, is the defacto disc dumping frontend used by Redump and related communities. It offers multiple user-friendly options to work with various disc dumping programs, such as redumper, Aaru, and DiscImageCreator.

NDecrypt is an easy-to-use Nintendo DS and 3DS encryption and decryption tool. Users must provide their own legally-obtained keys and data. Additional information output for verifying the transformed files is also included. It originally was fully separated from other projects, but now utilizes SabreTools.IO and SabreTools.Serialization instead.

SabreTools is the flagship and origination of the entire family of projects. It is a highly-advanced metadata file creation and manipulation tool aimed at users who know their way around a command line. The associated wiki is one the most thorough set of documents on the various metadata formats that exist out in the wild.

UnshieldSharp is a standalone application designed to extract InstallShield Cabinet files. It originated as a C# port of Unshield, now utilizes SabreTools.Serialization instead. This program is not officially part of the SabreTools family of projects, but is highly coupled to it.

WiseUnpacker is a standalone application designed to extract Wise Installer executables. It originated as a C# port of both E_WISE and Heuristic Wise-Setup Unpacker (HWUN). The current implementation is based on work done for REWise which utilizes SabreTools.Serialization instead. This program is not officially part of the SabreTools family of projects, but is highly coupled to it.



Libraries

Libraries make up the bulk majority of the projects included under the SabreTools banner. These projects are well-maintained and continue to evolve over time. Many of the libraries include at least one reference implementation program that is designed to show off various pieces of functionality.

BinaryObjectScanner, formerly BurnOutSharp, is a comprehensive protection scanning library. It can detect dozens of protections and packers, all supported by the research its sibling project, DRML.

Included in the repo is a standalone application called ProtectionScan, which acts as a reference for anyone who wishes to incorporate BinaryObjectScanner in their projects.

SabreTools.Commandline is a utility library designed as an alternative to other commandline processing solutions. It intends to be extensible and flexible enough to support even the most complicated commandline flag combinations. It is used heavily by the various commandline applications across the family of projects.

SabreTools.Hashing is a library that provides a uniform experience for implementers who need checksum and hash processing. It supports a broad range of options, many of which are written in fully-managed C#.

Included in the repo is a standalone application called Hasher, which acts as a reference for anyone who wishes to incorporate SabreTools.Hashing in their projects.

SabreTools.IO is a comprehensive meta-library that acts as the primary utility library for many of the other SabreTools projects. It includes numerous extensions as well as compression and encryption functionality. Please see the per-project README files for a much more thorough look into what the meta-library is capable of.

SabreTools.RedumpLib is a reference library used to document and interact with the Redump website. No formal API exists for the current site, so this acts as a psuedo-API layer. It is primarily used by MPF to help retrieve match data.

Included in the repo is a standalone reference application called RedumpTool, which allows for programmatic access to the site, including the ability to supply login credentials for locked functionality.

SabreTools.Serialzation is a comprehensive meta-library that acts the primary file processing library for many of the other SabreTools projects. It includes dozens of file models, readers, writers, custom information wrappers, as well as metadata file management.

Included in the repo there are 2 reference applications:

  • ExtractionTool provides an easy-to-use commandline method of using the extraction capabilities of both SabreTools.IO and SabreTools.Serialization. It acts as a reference for anyone looking to incorporate the unique extraction functionality in their own programs.

  • InfoPrint allows users to generate comprehensive reports about the structure of the dozens of supported file formats. It provides both a human-readable textfile output as well as an optional machine-parseable JSON output. It acts as a reference for anyone looking to incorporate the custom wrapper functionality in their own programs.

SabreTools.Skippers is a utility library meant to help deal with the various header skipper definitions that exist. Header skippers were traditionally distributed as XML definition files and used by various file management programs.

Included in the repo is a standalone program called Headerer which allows users to remove and restore copier headers from various supported formats.



Unmaintained and Retired Projects

Some projects under the umbrella of the SabreTools family are considered to be unmaintained or archived for one reason or another. Any archived projects that were merged into one of the maintained libraries are not listed here. Below are a list of those projects along with their original purpose.

psxt001z is a mostly-unmaintained C# port of psxt001z. It does not surface all of the same direct-disc functionality that the original tool did, instead focusing on just subchannel processing.

Reheader was an experimental application that used a Mesen database file to regenerate iNES 2.0 headers for cart images. It has not been touched in many years due to a lack of community interest.

Transform was originally an application designed to experiment with various methods of transforming input files. The majority of the functionality that was included here is now in SabreTools.IO. This program is kept around as a standalone implementation but should not be relied on anymore.

TwoFour was a utility application that allowed converting data stores that used romba organization to different, configurable depths. 4 levels has since been standardized, rendering this application unneeded.

Wizard of DATz (WoD) Redux was a PHP application that was meant to aid in documenting available files across a large variety of sources. The code was originally written and maintained by Wizard of DATz (WoD). This project formed the basis of what became the SabreTools commandline application.



Pinned Loading

  1. SabreTools SabreTools Public

    DAT management tool with advanced editing and sorting features

    C# 136 15

  2. MPF MPF Public

    Redumper/Aaru/DiscImageCreator GUI in C#

    C# 597 43

  3. BinaryObjectScanner BinaryObjectScanner Public

    C# protection, packer, and archive scanning library

    C# 122 15

  4. NDecrypt NDecrypt Public

    Cartridge encrypt/decrypt

    C# 78 5

Repositories

Showing 10 of 21 repositories

Top languages

Loading…

Most used topics

Loading…