Older news

New paint for 2015

I've redesigned the site again, this time using the Bootstrap CSS framework. The site should work well both on real web browsers and mobile phones. Let me know if you like the new look, or if anything's broken.

cabextract 1.6 released

cabextract 1.6 has been released, fixing bugs in the code that prevents malicious directory traversal.

libmspack 0.5 released

The newly released libmspack 0.5 fixes several bugs found using the afl tool.

cabextract 1.5 released

The newly released cabextract 1.5 fixes several bugs found using the afl tool.

libmspack 0.4 released

The newly released libmspack 0.4 adds support for Exchange Offline Address Book files.

cabextract 1.4 released

The newly released cabextract 1.4 fixes bugs and is more compatible with native 64-bit platforms like Fedora and Mac OS X.

ppcrack 1.0a update

Just a small update to the ppcrack source code to make it compatible with C89 compilers. Thanks to Stefan A. Haubenthal for the fix.

ppcrack 1.0 released

ppcrack has reached near perfection. It now supports all known PowerPacker executables, and can even crack them using a dictionary attack. To ensure it gets the most out of your computer, it also supports multithreaded cracking so you can use all your CPUs and cores!

cabextract 1.3 released

The newly released cabextract 1.3 fixes several bugs and improves recoverability of broken CAB files.

libmspack 0.2 released

The newly released libmspack 0.2 fixes several bugs and adds SZDD and KWAJ decoding.

cabextract 1.2 released

Fixing several bugs and adding a new "-t" archive integrity checking feature, cabextract 1.2 has been released.

New libmspack release

A new release of libmspack has been made. The main change is the fixing of three significant bugs in the LZX and Quantum decompressors, in addition to things such as multifh, an mspack_system implementation that can read/write files in memory, disk files, open file handles and open file descriptors.

cabextract 1.1 released

In order to address a directory traversal vulnerability, cabextract version 1.1 has been released. If you would like the security fix to be backported to a previous version of cabextract, please mail me and let me know.

libmspack pages up-to-date

The libmspack pages are now using the new site design, and contain the latest information about the project.

cabextract 1.0 released

After a long wait, cabextract 1.0 is finally released. Enjoy! An updated libmspack has also been released, but it's not getting an official announcement until its revised web pages are ready.

A new look

Another redesign of the website. This time, 90% of the styling is done using CSS2. The remaining 10% is still tables, because CSS2 is useless for flexible layouts. Unless fixed-size units are used, no two CSS2 implementations show the page the same way, yet they all have no trouble displaying flexibly laid out tables the same way. Why is this?

I will be updating each page to XHTML compliance over the next few weeks, revising the contents as I go. Currently, the page frame work is XHTML compliant, apart from the "align=center" attribute on the bounding table around these news posts. I just couldn't get proper centring any other way. Any CSS-based suggestions are much appreciated.

uade ported to Mac OS X

You can only listen to so many MP3s before you pine for something more exotic. So I wanted uade running on my iMac. Although it was already "runnable" on Mac OS X, the previous porter didn't really try, so I'd need fink, libtool, xmms, a poll emulation library, a running esound daemon...

Anyway, long story short, uade has been given native CoreAudio output and a proper Fink port. Read the installation instructions.

ppcrack 0.4 released

ppcrack has been updated again. It now supports big (more than 256kb) PowerPacked files which aren't completely encrypted. It also supports PPLoadSeg (PPLS) files. Download version 0.4.

ppcrack 0.3 released

The venerable PowerPacker data cracker ppcrack has been tidied up and speeded up. The documentation has been brought up-to-date, the keyspace search got slightly faster, and it now prints the keys per second rate. Download version 0.3.

CAB Quantum added to libmspack

A new release of libmspack has been made. There are tweaks here and there, but the main feature is that Quantum decompression has been refactored from cabextract. Get libmspack 20030726.

So, farewell then, the LZW patent

I've updated the article I wrote for K5 mourning the death of the LZW patent. You can now find it here.


I've been digging through my archives. ixadump is a small dearchiver for iXalance (IXA) demos, of which there are three known to exist. I didn't see any need to make it an XAD client as there are so few uses of it.

First libmspack release

I am proud to announce the first release of my latest decompression project, libmspack. It attempts to unpack a large number of Microsoft compression formats, currently it supports CAB and CHM decompression. It's still alpha software, but it should really impress anyone who wanted a usable API to cabextract. The upcoming release of cabextract will use the CAB decompressor from this library, and hopefully the users of chmlib will be convinced to use the faster, more memory efficient and more robust CHM decompressor in libmspack.

You want colour? Buy a box of crayons

A somewhat delayed spring-clean; I've reorganised the web site to make it more accessible. It should also look more professional.

Open Convert .LIT version 1.4 available

Fans of the amusingly named Microsoft eBook conversion tool will be pleased to hear a new version is out. Sadly, there's not much difference for us UNIX users, the main purpose of the release is to make the DRM5 decoder interoperate with the latest release of eBook Reader. Still, I've updated the Converting .LIT page to reflect the latest edition of the software.

Announcing libmspack

I finally bit the bullet, and started work on making cabextract's routines available as a reusable library. But that alone is not very ambitious, so I decided to start libmspack. It will support compression and decompression of a variety of Microsoft file formats, including CAB, CHM, HLP, LIT and SZDD. The library is designed to be entirely operating system independent, and to provide only the essential features necessary to access these formats, so cabextract still has a purpose in life.

Delving into Simon the Sorcerer

The ScummVM project features an interpreter for the Simon the Sorcerer adventures. Unfortunately, it's not quite playable using the Amiga data files. So, I lent a hand, and now the ScummVM team have a data file decruncher and icon graphics interpreter, which is a good start!

AMOS Music Bank format

I reverse-engineered the AMOS Music Bank (ABK) format as part of my work on a master AMOS converter client for XAD.

Windows CE install cab format

I worked out most of the details of the Microsoft Windows CE installation CAB file format. These are just normal cabinet files, but the files contained in the cabinet have odd filenames, and the first file is a proprietary binary format for describing how to install the rest of the files.

Java sine-wave scroller

How about a nice Java demo effect? Yes, I know, I'm about 6 years too late. I don't care :)

xine gets a Playstation boost

The xine project now features an enhanced Playstation STR demuxer and CD-ROM/XA ADPCM audio decoder, courtesy of yours truly. Work is in progress to add Sony's minor i-frames only adaption of MPEG 1 to the main codec library.

Converting .LIT files for fun and profit

Happy New Year! I am proud to offer the Convert .LIT tool to you.

New XFD slave: CPic

Introducing a new XFD slave, CPic, which converts files from the 1990 CPic picture compressor into uncompressed IFF ILBM images. Like the AMOS Pac.Pic. format, CPic is a compressor which reorders bitmap data and then compresses it with an RLE method. However, unlike Pac.Pic., the reordering method and RLE method are not completely bizarre. Download CPic version 1.0

Help me out with PackDir!

I think the datestamp decoding in PackDir may not be right. Can someone please send me some files with a range of different datestamps, in both PackDir format and some other known format (e.g. Zip, tar, ...), so I can work out what the datestamps should correctly decode to. While on the subject of Acorn archivers, I would also like to get some files (preferably ASCII text) packed with !Squash, as well as the unpacked form, so I can work out the exact form of !Squash's LZW compression.

New XAD client: PackDir

I have had no messages back from people since I released the PackDir XAD client to the XAD mailing list at the end of last month, so I am now releasing it to the general public. Download version 1.0.

Adequacy is dying

A small update to the Adequacy essay, to correct links now that Adequacy is only available in archive form.

Anders Hamre AM/FM rips

I updated the rips page to include rips of the two encrypted Anders Hamre tunes on the AM/FM music disks.

New XAD client: id games

Introducing a new XAD client, the id games client. It unpacks the ubiquitous IWAD, PWAD, WAD2 and PAK formats used in so many 3D games. Download version 1.0.

ppcrack 0.2 released

A new version of ppcrack was released. This version can crack any encrypted PowerPacker file within 30 minutes on my 900MHz Celeron PC, running Linux 2.4.18. Can you imagine how much quicker it would be on a faster machine, like a 2.4GHz Pentium 4? Download version 0.2

cabextract 0.6 released

The latest and greatest cabextract was released, now featuring Quantum decompression by Matthew Russotto. Download version 0.6.