Skip to content

G4224T/Fody-Costura-Decompress

Repository files navigation

Fody-Costura-Decompress

  • This is a tool that allows user to compress/decompress compact resource files generated by Fody-Costura individually

See Fody-Costura repository for further details on Fody.

The Fody-Costura Library for .NET 4.5 (and over) compresses resources (using DeflateStream) and adds them into an assembly automatically at compile time to reduce the number of files required for distribution.

To de-compile a .NET assembly, the resources are required. Most de-compilers can extract the resources but they are extracted as compressed files with a .zip or .compressed extension. The .zip extension is incompatible with the standard zip file format.

This simple utility uses the .NET compression / de-compression library available in .NET 4.5 and over to de-compress the zip file so that it can be de-compiled.

NOTES

This is a quick utility thrown together in a rush solely to de-compress files that I required. UI has been updated to be more compact and filled with instructions

It has no error checking whatsoever. Added simple error check to prevent program from crashing when error occurs in compression/decompression

If the output file exists, it WILL be overwritten so check that any required files are copied / renamed / backed up first.

The de-compressed file is written using the filename of the existing file minus the .zip or .compressed extension; copy compressed file will be created with source file name appended with .compressed extension On some de-compilers, such as Jet Brains, the resources are extracted into folders and given a name that relates (mostly) to the extension.

Examples:

  • foo.bar.dll.zip -> foo.bar.dll
  • foo.bar.dll.compressed -> foo.bar.dll
  • alice.dll -> alice.dll.compressed

However, Jet Brains de-compiler extracts the foo.bar.dll.zip to c:\wherever\foo\bar\dll.zip. It is recommended that the file is renamed to it's original name before de-compression.