Codecs with extended information: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(Added wma speech)
(spelling/grammar/wording/wikify)
Line 1: Line 1:
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
For these codecs there exists extra information beside the binaries. It can be binaries with debug information in them, SDKs or something other that would help the reverse engineering process. This list doesn't cover codecs for which specifications (e.g. [[Windows Media Video 9]]) or source (e.g. [[Monkey's Audio]]) can be found.
be found (eg VC-1/WMV3) or source (eg Monkeys Audio).


== VQF/TwinVQ ==
== 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 [http://wiki.multimedia.cx/index.php?title=TwinVQ].
For this codec a Linux/win32 SDK was released and some code from VQF in AAC was also found on the net, the [[TwinVQ]] entry has more details.


== WMA Pro, WMA Lossless, WMA Speech ==
== 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.
[[Linspire]] licensed some Windows Media codecs and bundled them with their distribution. They made shared object files of them and loaded them from [[MPlayer]]. The gluecode can be found in the MPlayer packages [http://software.linspire.com/pool-src/m/mplayer/ on the Linspire site], the files with the gluecode are in libavcodec/ wmv3dec.c, wmv2dec.c and wma3dec.c. To get the binaries download the [http://tracker.linspire.com/torrents/linspire_live_5.0.69.torrent torrent file] from [http://www.linspire.com/cnr_linspirelive.php the Linspire site]. 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 activates wmapro and wmalossless. Libwma2.so and libwma3.so seem to share some of the constants.
 
[http://multimedia.cx/eggs/windows-media-codecs-with-debug-symbols/ [[User:Multimedia Mike|Mike's]] blog] mentions some libs with debug info in them, these also contain [[Windows Media Audio Voice]]. They seem 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.
[http://multimedia.cx/eggs/windows-media-codecs-with-debug-symbols/] 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 ==
== 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[http://wiki.multimedia.cx/index.php?title=Indeo_5].
[[XAnim]] has external so libs for these codecs [http://xanim.polter.net/xa_dlls.html on its website]. Some version of these binaries has a lot of debug information in it. There has also been some work on an [[Indeo 5]] decoder.


== VP5 and VP6 ==
== 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 [http://multimedia.cx/eggs/legal-threat-00001/].
On [[On2|On2's]] website there is a Truemotion streaming applet. This applet has contained a non-obfuscated [[On2 VP5|VP5]] Java decoder. They later obfuscated it and changed it to [[On2 VP6|VP6]]. The Java binary can easily be decompiled. The result looks very poor but it is better than x86 assembly. Some work has been done to [http://multimedia.cx/eggs/legal-threat-00001/ reconstruct the VP5 decoder].


== Sipro, Atrac, RV30 and RV40 ==
== Sipro, Atrac, RV30 and RV40 ==
Real Networks has sometimes in the past released versions that had binarys which contained lots of debug info.  
[[Real]] has sometimes in the past released versions that had binaries with a lot of debug information.  
The versions in question is version 5, 7 and a Helix linux beta version. Version 5 can be found here [http://wwwa2.kph.uni-mainz.de/ftp/pub/machines/linux/multimedia/v50b3_linux20elf.tar.gz] and 7 can be found here [http://forms.real.com/real/player/blackjack.html?&src=ZG.eu.idx.rp_mon.760.rp_mon,uk-r1e_entitlements].
The versions in question are version 5, 7 and a [[Helix]] Linux beta version. Version 5 can be found [http://wwwa2.kph.uni-mainz.de/ftp/pub/machines/linux/multimedia/v50b3_linux20elf.tar.gz here] and 7 can be found [http://forms.real.com/real/player/blackjack.html?&src=ZG.eu.idx.rp_mon.760.rp_mon,uk-r1e_entitlements here].
* Sipro debug info can be found in version 5, 7 and the debug build.  
* [[RealAudio sipr|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.
* [[RealAudio atrc|Atrac]] debug info slipped into a Helixplayer beta version. The so binary doesn't work but the signatures can be transferred to the RealPlayer 10 atrac.dll. Other versions don't seem to use the same source code.
* RV30 debug info can be found in version 7 and the debug build.
* [[RealVideo|RV30]] debug info can be found in version 7 and the debug build.
* RV40 debug info can be found in the debug build.
* [[RealVideo|RV40]] debug info can be found in the debug build.


== Bink ==
== Bink ==
RAD released a player for linux that contained lots of debug info.
[[RAD Game Tools]] released a player for Linux that contained a lot of debug information.

Revision as of 02:33, 28 February 2006

For these codecs there exists extra information beside the binaries. It can be binaries with debug information in them, SDKs or something other that would help the reverse engineering process. This list doesn't cover codecs for which specifications (e.g. Windows Media Video 9) or source (e.g. Monkey's Audio) can be found.

VQF/TwinVQ

For this codec a Linux/win32 SDK was released and some code from VQF in AAC was also found on the net, the TwinVQ entry has more details.

WMA Pro, WMA Lossless, WMA Speech

Linspire licensed some Windows Media codecs and bundled them with their distribution. They made shared object files of them and loaded them from MPlayer. The gluecode can be found in the MPlayer packages on the Linspire site, the files with the gluecode are in libavcodec/ wmv3dec.c, wmv2dec.c and wma3dec.c. To get the binaries download the torrent file from the Linspire site. 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 activates wmapro and wmalossless. Libwma2.so and libwma3.so seem to share some of the constants. Mike's blog mentions some libs with debug info in them, these also contain Windows Media Audio Voice. They seem 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 on its website. Some version of these binaries has a lot of debug information in it. There has also been some work on an Indeo 5 decoder.

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. The result looks very poor but it is better than x86 assembly. Some work has been done to reconstruct the VP5 decoder.

Sipro, Atrac, RV30 and RV40

Real has sometimes in the past released versions that had binaries with a lot of debug information. The versions in question are version 5, 7 and a Helix Linux beta version. Version 5 can be found here and 7 can be found here.

  • 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 transferred to the RealPlayer 10 atrac.dll. Other versions don't seem 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 Game Tools released a player for Linux that contained a lot of debug information.