Mono files can be seen as a sort of parity file to check the integrity of a file, or as a form of encoding for a file allowing it to be recovered. The format seems to have been created primarily to tweak the noses of copyright enforcers by creating a philosophical dilemma as to whether a file is truly infringing if it is derived from a copyrighted work, and can be restored to a full copy of it, but by itself has no part of the copyrighted item (and, by suitable manipulation of the "basis" file used to encode it, can even be made to be identical to a totally different meaningful file, copyrighted by somebody else or public-domain). The Monolith tool is used to create them.
A Mono file is created from two other files, a "basis" file used as a key, and an "element" file that is the source data. It is generated by a bit-by-bit XOR operation, with the basis file being repeated as needed to equal the length of the element file.
The data is simply the data of two others files (described above) XORed together, and has the same length as the element file. The name of the file is the names of the two original files with -#- in between, and then -#-.mono at the end. Neither original file name is allowed to have -#- in it.