Obfuscate code GPL 2 - The source uses kernel structs and GPL2 API
Hi, This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html So, they didn't release the code at all. This is ok ? This against the law ? If you download the source for linux you will se this code: /* * * Copyright (C) 2007-2015 SimplyCore, LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * */ #include "usbd.h" #ifdef _USBD_DEBUG_MEMORY_ atomic_t llIlllll=ATOMIC_INIT((0x575+1935-0xd04));atomic_t lIIlIIIll=ATOMIC_INIT ((0xa1d+3263-0x16dc));atomic_t IllIlIlI=ATOMIC_INIT((0x128f+4169-0x22d8)); atomic_t IlIllllI=ATOMIC_INIT((0xf24+561-0x1155)); #ifdef ATOMIC64_INIT atomic64_t llIlIlll=ATOMIC64_INIT((0xeb9+1200-0x1369)); #endif atomic_t IllllIlI=ATOMIC_INIT((0x95+5058-0x1457));atomic_t lIIllllI=ATOMIC_INIT( (0x54+4166-0x109a));atomic_t llIllIlI=ATOMIC_INIT((0x90+8277-0x20e5)); #endif struct lllIl*IIIIlll=NULL; #ifdef _USBD_ENABLE_STUB_ spinlock_t IIIIlII;struct list_head IIIIlIlI; #endif static int lIIIlIII=(0x1b5b+1617-0x21ac);module_param(lIIIlIII,int, ... many lines .... #endif IIIll("\x75\x73\x62\x64\x5f\x65\x78\x69\x74" "\n");}module_init(IlIIllIIl); module_exit(usbd_exit);MODULE_LICENSE("\x47\x50\x4c"); -- Lucas Tanure +55 (19) 988176559
On Tue, Jul 21, 2015 at 03:49:22PM -0300, Lucas Tanure wrote:
Hi,
This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html
So, they didn't release the code at all. This is ok ? This against the law ?
Why are you asking developers legal questions? Would you ask us medical questions and expect valid answers? Please consult a lawyer if you have questions about licensing and the like. thanks, greg k-h
Off the topic maybe, this usb redirector could be built above usbip, which is in the mainline. -daveti
On Jul 21, 2015, at 3:05 PM, Greg KH <greg@kroah.com> wrote:
On Tue, Jul 21, 2015 at 03:49:22PM -0300, Lucas Tanure wrote:
Hi,
This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html
So, they didn't release the code at all. This is ok ? This against the law ?
Why are you asking developers legal questions? Would you ask us medical questions and expect valid answers? Please consult a lawyer if you have questions about licensing and the like.
thanks,
greg k-h
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Tue, 21 Jul 2015 15:49:22 -0300, Lucas Tanure said:
Hi,
This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html
So, they didn't release the code at all. This is ok ? This against the law ?
We're code hackers here. If the gpl-violations.org crew was still operating, they'd be a better resource. You might find a link somewhere on gnu.org to find somebody that could offer advice...
From: kernelnewbies-bounces@kernelnewbies.org [mailto:kernelnewbies-bounces@kernelnewbies.org] On Behalf Of Lucas Tanure Sent: Tuesday, July 21, 2015 11:49 AM To: Kernelnewbies@kernelnewbies.org Subject: Obfuscate code GPL 2 - The source uses kernel structs and GPL2 API Hi, This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html So, they didn't release the code at all. This is ok ? This against the law ? If you download the source for linux you will se this code: /* * * Copyright (C) 2007-2015 SimplyCore, LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * */ #include "usbd.h" #ifdef _USBD_DEBUG_MEMORY_ atomic_t llIlllll=ATOMIC_INIT((0x575+1935-0xd04));atomic_t lIIlIIIll=ATOMIC_INIT ((0xa1d+3263-0x16dc));atomic_t IllIlIlI=ATOMIC_INIT((0x128f+4169-0x22d8)); atomic_t IlIllllI=ATOMIC_INIT((0xf24+561-0x1155)); #ifdef ATOMIC64_INIT atomic64_t llIlIlll=ATOMIC64_INIT((0xeb9+1200-0x1369)); #endif atomic_t IllllIlI=ATOMIC_INIT((0x95+5058-0x1457));atomic_t lIIllllI=ATOMIC_INIT( (0x54+4166-0x109a));atomic_t llIllIlI=ATOMIC_INIT((0x90+8277-0x20e5)); #endif struct lllIl*IIIIlll=NULL; #ifdef _USBD_ENABLE_STUB_ spinlock_t IIIIlII;struct list_head IIIIlIlI; #endif static int lIIIlIII=(0x1b5b+1617-0x21ac);module_param(lIIIlIII,int, ... many lines .... #endif IIIll("\x75\x73\x62\x64\x5f\x65\x78\x69\x74" "\n");}module_init(IlIIllIIl); module_exit(usbd_exit);MODULE_LICENSE("\x47\x50\x4c"); That is just too funny. I haven’t seen that trick done for 40 years, then it was sequences of capital ‘O’s and ‘0’s in COBOL code. But these guys take it to a new extreme, they are too afraid of their lawyers to even code a literal “GPL” in the MODULE_LICENSE statement. And then they’ve got silly stuff like this 0x575+1935-0xd04 to hide a 0. That wouldn’t stump a bright 3rd grader. Nice to know this company is paying its developers to concentrate on the important things; one could I suppose make some reasonable conclusions about the resultant product quality. But it seems to me that if it builds, then they’ve released the code. I’ve seen Linux kernel maintainers strip all the comments from patches that have been submitted to them. Hard for me to see much difference here legally. Disclaimer: I’m not a lawyer, so don’t take my word for it. Just my humble, legally uneducated opinion. Jeff Haran
On Tue, 21 Jul 2015 20:13:48 -0000, Jeff Haran said:
But it seems to me that if it builds, then they’ve released the code.
No - the GPLv2 says: "The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable." (yadda yadda) So unless the engineers *prefer* the obfuscated form, they really haven't distributed the source code. (IANAL, I'm a code hacker, and all that. All legal advice is worth what you paid for it...)
On Tue, Jul 21, 2015 at 03:49:22PM -0300, Lucas Tanure wrote:
Hi,
This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html
So, they didn't release the code at all. This is ok ? This against the law ?
If you download the source for linux you will se this code:
/* * * Copyright (C) 2007-2015 SimplyCore, LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * */
#include "usbd.h" #ifdef _USBD_DEBUG_MEMORY_ atomic_t llIlllll=ATOMIC_INIT((0x575+1935-0xd04));atomic_t lIIlIIIll=ATOMIC_INIT ((0xa1d+3263-0x16dc));atomic_t IllIlIlI=ATOMIC_INIT((0x128f+4169-0x22d8)); atomic_t IlIllllI=ATOMIC_INIT((0xf24+561-0x1155)); #ifdef ATOMIC64_INIT atomic64_t llIlIlll=ATOMIC64_INIT((0xeb9+1200-0x1369)); #endif atomic_t IllllIlI=ATOMIC_INIT((0x95+5058-0x1457));atomic_t lIIllllI=ATOMIC_INIT( (0x54+4166-0x109a));atomic_t llIllIlI=ATOMIC_INIT((0x90+8277-0x20e5)); #endif struct lllIl*IIIIlll=NULL; #ifdef _USBD_ENABLE_STUB_ spinlock_t IIIIlII;struct list_head IIIIlIlI; #endif static int lIIIlIII=(0x1b5b+1617-0x21ac);module_param(lIIIlIII,int, ... many lines .... #endif IIIll("\x75\x73\x62\x64\x5f\x65\x78\x69\x74" "\n");}module_init(IlIIllIIl); module_exit(usbd_exit);MODULE_LICENSE("\x47\x50\x4c");
-- Lucas Tanure +55 (19) 988176559
Hi, I'd contact Mr. Harald Welte, the guy behind gpl-violations.org. Mail: laforge@gnumonks.org Twitter: https://twitter.com/laf0rge Alternatively, you could also try Mr. Christoph Hellwig or Mr. Till Jaeger, the guys who are taking up VMware on their GPL violations at the moment. Regards, Clemens
Hi Guys, Many thanks. It was just for the sake of curiosity. I know that I should ask lawyers about that, but it's good to hear some view points from other developers. The best action is to simply not use their solution, and spread the word. Like Jeff Haran, That is just too funny. Thanks!! -- Lucas Tanure +55 (19) 988176559 On Tue, Jul 21, 2015 at 6:51 PM, Clemens Gruber <clemens.gruber@pqgruber.com
wrote:
On Tue, Jul 21, 2015 at 03:49:22PM -0300, Lucas Tanure wrote:
Hi,
This company released a obfuscated kernel module in GPL 2. http://www.incentivespro.com/downloads.html
So, they didn't release the code at all. This is ok ? This against the law ?
If you download the source for linux you will se this code:
/* * * Copyright (C) 2007-2015 SimplyCore, LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * */
#include "usbd.h" #ifdef _USBD_DEBUG_MEMORY_ atomic_t llIlllll=ATOMIC_INIT((0x575+1935-0xd04));atomic_t lIIlIIIll=ATOMIC_INIT ((0xa1d+3263-0x16dc));atomic_t IllIlIlI=ATOMIC_INIT((0x128f+4169-0x22d8)); atomic_t IlIllllI=ATOMIC_INIT((0xf24+561-0x1155)); #ifdef ATOMIC64_INIT atomic64_t llIlIlll=ATOMIC64_INIT((0xeb9+1200-0x1369)); #endif atomic_t IllllIlI=ATOMIC_INIT((0x95+5058-0x1457));atomic_t lIIllllI=ATOMIC_INIT( (0x54+4166-0x109a));atomic_t llIllIlI=ATOMIC_INIT((0x90+8277-0x20e5)); #endif struct lllIl*IIIIlll=NULL; #ifdef _USBD_ENABLE_STUB_ spinlock_t IIIIlII;struct list_head IIIIlIlI; #endif static int lIIIlIII=(0x1b5b+1617-0x21ac);module_param(lIIIlIII,int, ... many lines .... #endif IIIll("\x75\x73\x62\x64\x5f\x65\x78\x69\x74" "\n");}module_init(IlIIllIIl); module_exit(usbd_exit);MODULE_LICENSE("\x47\x50\x4c");
-- Lucas Tanure +55 (19) 988176559
Hi,
I'd contact Mr. Harald Welte, the guy behind gpl-violations.org. Mail: laforge@gnumonks.org Twitter: https://twitter.com/laf0rge
Alternatively, you could also try Mr. Christoph Hellwig or Mr. Till Jaeger, the guys who are taking up VMware on their GPL violations at the moment.
Regards, Clemens
participants (6)
-
Clemens Gruber -
Dave Tian -
Greg KH -
Jeff Haran -
Lucas Tanure -
Valdis.Kletnieks@vt.edu