Codecs with extended information

From MultimediaWiki
Revision as of 02:17, 28 February 2006 by Merbanan (talk | contribs) (Added wma speech)
Jump to navigation Jump to search

For these codecs there exist extra information beside the binarys. It can be binarys with debug information in them, SDK's or something other that would help the RE process. This list doesn't cover codecs for which specifications can be found (eg VC-1/WMV3) or source (eg Monkeys Audio).

VQF/TwinVQ

For this codec a linux/win32 SDK was released and some code from vqf in AAC was also found on the net, more info here [1].

WMA Pro, WMA Lossless, WMA Speech

Linspire licensed some Windows Media codecs and bundled them with their distribution. They made so files of them and loaded them from mplayer. The gluecode can be found from one mplayer package here http://software.linspire.com/pool-src/m/mplayer/, the files with the gluecode are in libavcodec/ wmv3dec.c, wmv2dec.c and wma3dec.c. To get the binarys download the http://tracker.linspire.com/torrents/linspire_live_5.0.69.torrent from http://www.linspire.com/cnr_linspirelive.php. The codecs should reside in /usr/lib with the name libwm*.so. These files have lots of debug information in them and they seam to not have been compiled with a high optimization level. Some work has been done on libwma3.so and this library has code to decode wmastdv1,wmastdv2,wmapro and wmalossless. But the gluecode only activate wmapro and wmalossless. Libwma2.so and libwma3.so seams to share some of the constants.

[2] mentions some libs with debug info in them, these also contain WMA Speech. They seam to be based on the same source as the Linspire ones and a rudimentary check supports that. The code seams to be abit more optimized also. The diffrent objects in the library makes it easy to divide the diffrent codecs (the tables and code). So correlation of all these sources would probably yeild the best result.

Indeo 4 and Indeo 5

XAnim has external so libs for these codecs (http://xanim.polter.net/xa_dlls.html). Some version of these binarys has lots of debug information in them. There has also been some work on an Indeo 5 decoder[3].

VP5 and VP6

On On2's website there is a Truemotion streaming applet. This applet has contained a non obfuscated vp5 java decoder. They later obfuscated it and changed it to vp6. The java binary can easily be decompiled but the result looks very poor but it is better then x86 assembly. Some work has been done to reconstruct the vp5 decoder [4].

Sipro, Atrac, RV30 and RV40

Real Networks has sometimes in the past released versions that had binarys which contained lots of debug info. The versions in question is version 5, 7 and a Helix linux beta version. Version 5 can be found here [5] and 7 can be found here [6].

  • Sipro debug info can be found in version 5, 7 and the debug build.
  • Atrac debug info slipped into a Helixplayer beta version. The so binary doesn't work but the signatures can be transfered to Realplayer 10 atrac.dll. Other versions doesn't seam to use the same source code.
  • RV30 debug info can be found in version 7 and the debug build.
  • RV40 debug info can be found in the debug build.

Bink

RAD released a player for linux that contained lots of debug info.