RE: Obfuscate code GPL 2 - The source uses kernel structs and GPL2 API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 

 

From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx [mailto:kernelnewbies-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Lucas Tanure
Sent: Tuesday, July 21, 2015 11:49 AM
To: Kernelnewbies@xxxxxxxxxxxxxxxxx
Subject: Obfuscate code GPL 2 - The source uses kernel structs and GPL2 API

 

Hi, 

 

This company released a obfuscated kernel module in GPL 2. 

 

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

 

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux