KNFE (pronounced "knife") is a C#-based GUI & CLI program for extracting and decoding various file formats.
The current focus for KNFE falls upon the following types of file formats:
- File formats without modern implementations
- Undocumented video game file formats
- Generally old & obscure file formats
KNFE.CLI -i <infile> -f <formatcode> [-o <outdir>] [-v]
Or, double-click KNFE.UI.exe
to use the GUI version.
File Format / Encoding | File Name(s) | Format Code |
---|---|---|
BinHex 4.0 | *.hqx |
binhex4 |
Fallout 1 DAT | *.dat |
fallout |
Reel Fishing PAK | *.pak , *.mb , *.bp ,*.sp , *.t0p , *.t1p , *.u0p , *.fsp , *.tap , *.aqp , *.tpk |
reelfishing |
Uuencode | *.uu , *.uue |
uuencode |
Vib-Ribbon PAK | *.pak |
vibribbon |
This project started as a passion project several years back while I was thumbing through the UTZOO Wiseman Usenet Archive and discovering lots of file & encoding formats I was unfamiliar with. For a while, I had already been working to reverse engineer various video game file formats, and so I took interest in creating modern implementations of the utilities that decoded these obscure Usenet files.
An earlier version of KNFE exists, but it was poorly structured and not designed for expandability. Thus, this completely re-written and re-factored project was born.
- Recreate KNFE's core functions as a library (KNFE.Core.dll)
- Basic UI frontend
- Basic CLI
- Create KNFE.Test for testing output, efficiency, etc.
- Add detailed breakdowns of formats with sources, link in Supported Formats table
- Implement icons for UI tree
- File format identification based on file data (eventually remove FSF, etc.)
- Expand EncodingStreams and derived classes to derive from Streams (replicate GZipStream behaviour)
- Unify EncodingStreams for related encodings (LZSS variants, preset class)
This project is licensed under the GNU GPLv3.