ASFView is a program to read an ASF, WMA or WMV file and decode the headers into human-readable descriptions. The three types of file differ only in extension as a convenient way to tell if they will contain video, and are internally identical.
There isn't much to say about this program. Just tell it the file you want to analyse, and out comes a very detailed breakdown of what all the many headers say. A helpful utility when you can't work out why a file can't play. It's written in C, and is simple enough that it will compile on just about any OS. I've released both the source code - public domain rather than GPL, due to legal complications - and a compiled Windows executable.
Please note that you can't actually do much with this code, legally, in many jurisdictions - the ASF container is patented. US patent number 6,041,345. That doesn't affect me over here in the EU, where software patents are not considered valid*, but I am not a lawyer so don't blame me if Microsoft disapproves. I imagine you're safe though - the ASF specification is so widely known, even Microsoft must know that a repeat of the Virtualdub incident is only going to reflect badly on them.
Do not confuse this with the Microsoft ASFView utility. They share a name, but that is all. The two programs perform almost the same function, and as the name follows naturally from the function both ended up with the same name. I'm not sure which was first - ASFView was one of the first programs I wrote, back when I was just learning C. It's old.
To give some idea of what this program does, here is an example analysis of a WMA file.
*It is no accident that this site is hosted in the UK, by a UK company. Dealing with the legal complexities of one jurisdiction is quite enough, and I've already had to deal with two automated DMCA notices sent for my youtube account for non-infringing videos.