Breakthrough after breakthrough in the F4I case
Ladies and gentlemen, muzzy and I made what's maybe the most significant progress since we began our little examination of the F4I binaries a few days ago. Thanks to Halvar Flake of Sabre Security who provided us with results from newer versions of BinDiff than those that were available to us, I was able to positively identify several functions from the mpglib library in the F4I code. What's significantly more important is that muzzy found actual GPL code in the files too! Yes, GPL, not LGPL! This opens up a completely different can of worms.
Let's start with the LGPL code from mpglib. I'm only listing the found functions briefly because I think there's already enough disassembly on my website.
The function decodeMP3 from interface.c can be found at virtual offset 0x10059850 in ECDPlayerControl.ocx
The function decodeMP3_clipchoice from interface.c can be found at virtual offset 0x10059440 in ECDPlayerControl.ocx
The function addbuf from interface.c can be found at virtual offset 0x10059020 in ECDPlayerControl.ocx
The function sync_buffer from interface.c can be found at virtual offset 0x10059310 in ECDPlayerControl.ocx
...
I could go on like this for quite a while as the functions mentioned already contain so many function calls themselves that it's probably possible to reconstruct large parts of mpglib from there (if not the complete library).
I'm sure you're more interested in the GPL code than in a large list of LGPL functions and where they can be found in the F4I code though.
I just want to mention that the function that can be found at virtual offset 0x10089E00 in ECDPlayerControl.ocx is the function DoShuffle from a GPL-ed file called drms.c written by Jon Lech Johansen and Sam Hocevar (Google for it). I'll leave the rest of the explanation to muzzy for now.
Let's start with the LGPL code from mpglib. I'm only listing the found functions briefly because I think there's already enough disassembly on my website.
The function decodeMP3 from interface.c can be found at virtual offset 0x10059850 in ECDPlayerControl.ocx
The function decodeMP3_clipchoice from interface.c can be found at virtual offset 0x10059440 in ECDPlayerControl.ocx
The function addbuf from interface.c can be found at virtual offset 0x10059020 in ECDPlayerControl.ocx
The function sync_buffer from interface.c can be found at virtual offset 0x10059310 in ECDPlayerControl.ocx
...
I could go on like this for quite a while as the functions mentioned already contain so many function calls themselves that it's probably possible to reconstruct large parts of mpglib from there (if not the complete library).
I'm sure you're more interested in the GPL code than in a large list of LGPL functions and where they can be found in the F4I code though.
I just want to mention that the function that can be found at virtual offset 0x10089E00 in ECDPlayerControl.ocx is the function DoShuffle from a GPL-ed file called drms.c written by Jon Lech Johansen and Sam Hocevar (Google for it). I'll leave the rest of the explanation to muzzy for now.
Trackbacks
][ stefano maffulli on : Indovina chi abusa del copyright
Show preview
Sembra ormai chiaro che i distributori di musica hanno dichiarato guerra ai loro clienti. Paradossale, ma è così. La major Sony-BMG ha inserito un rootkit in alcuni suoi CD musicali e, una volta scoperto il malware, prima ha negato poi ha ammesso ma...
Dinis Cruz on : Update on Sony rootkit story, Mark claims victory, Bruce Wired article and more LGLP info
Show preview
After all his hard word, Mark from sysinternals has claimed victory:
"...I’m proud to announce a significant...
HCS's and Gen's Place on : The Rootkit That Never Dies
Show preview
Schneier on Security
This is an excellent summary about what has been going on with the Sony Rootkit debacle right down to the complete ineptitude and sometimes indifference of the a/v companies. I have already posted about this before but this cont...
Comments
Display comments as Linear | Threaded
Gavin on :
Rolf on :
sp on :
Anonymous on :
http://www.fsf.org/licensing/licenses/gpl-violation.html
Anon on :
Anonymous on :
Damien on :
Anonymous on :
This is a DMCA violation. It is very serious. Sony has been saying so for a long time.
Anonymous on :
Matthew on :
As the LGPL stuff appears to have been compiled into larger binaries, even the lesser requirements of the LGPL have been bypassed and so there are no applicable differences in the licensing terms that apply between the LGPL violations and the GPL violation.
On the plus side, while F4I are very likely to be liable under the GPL and LGPL licenses for modification and distribution - it's not at all proven that the version given to Sony didn't contain the license provisions and attributions, or that they charged development fees, or that Sony doesn't have the full source code - Sony should be fully liable for the license violations, since they have definitely distributed the modified code without following the license provisions or attributions.
Possible class-challenges would likely be on the subject of illegal systems interference - which is just as illegal with a EULA as without if the EULA is not explicit about those actions which would be thusly classified - and again, whether or not 4FI can be included among the guiltly, Sony creates the actual CDs and is the paid distributor.
xxx on :
James Pilcher on :
considering those terms involve no financial cost, it is simply their laziness and hubris that caused the problem, not the GPL.