<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> kernelnewbies-bounces@kernelnewbies.org [mailto:kernelnewbies-bounces@kernelnewbies.org]
<b>On Behalf Of </b>Lucas Tanure<br>
<b>Sent:</b> Tuesday, July 21, 2015 11:49 AM<br>
<b>To:</b> Kernelnewbies@kernelnewbies.org<br>
<b>Subject:</b> Obfuscate code GPL 2 - The source uses kernel structs and GPL2 API<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">Hi,&nbsp;<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">This company released a obfuscated kernel module in GPL 2.&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://www.incentivespro.com/downloads.html">http://www.incentivespro.com/downloads.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">So, they didn't release the code at all. This is ok ?&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This against the law ?&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">If you download the source for linux you will se this code:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">/*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;* &nbsp;Copyright (C) 2007-2015 SimplyCore, LLC<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;* This program is free software; you can redistribute it and/or modify<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;* it under the terms of the GNU General Public License version 2 as<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;* published by the Free Software Foundation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">&nbsp;*/<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">#include &quot;usbd.h&quot;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#ifdef _USBD_DEBUG_MEMORY_<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">atomic_t llIlllll=ATOMIC_INIT((0x575&#43;1935-0xd04));atomic_t lIIlIIIll=ATOMIC_INIT<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">((0xa1d&#43;3263-0x16dc));atomic_t IllIlIlI=ATOMIC_INIT((0x128f&#43;4169-0x22d8));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">atomic_t IlIllllI=ATOMIC_INIT((0xf24&#43;561-0x1155));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#ifdef ATOMIC64_INIT<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">atomic64_t llIlIlll=ATOMIC64_INIT((0xeb9&#43;1200-0x1369));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#endif<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">atomic_t IllllIlI=ATOMIC_INIT((0x95&#43;5058-0x1457));atomic_t lIIllllI=ATOMIC_INIT(<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">(0x54&#43;4166-0x109a));atomic_t llIllIlI=ATOMIC_INIT((0x90&#43;8277-0x20e5));<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#endif&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">struct lllIl*IIIIlll=NULL;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#ifdef _USBD_ENABLE_STUB_<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">spinlock_t IIIIlII;struct list_head IIIIlIlI;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#endif<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">static int lIIIlIII=(0x1b5b&#43;1617-0x21ac);module_param(lIIIlIII,int,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">...&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">many lines<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">....<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">#endif&nbsp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">IIIll(&quot;\x75\x73\x62\x64\x5f\x65\x78\x69\x74&quot; &quot;\n&quot;);}module_init(IlIIllIIl);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">module_exit(usbd_exit);MODULE_LICENSE(&quot;\x47\x50\x4c&quot;);<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">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&#43;1935-0xd04 to hide a 0. That wouldn’t stump a bright 3<sup>rd</sup> 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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">But it seems to me that if it builds, then they’ve released the code.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Disclaimer: I’m not a lawyer, so don’t take my word for it. Just my humble, legally uneducated opinion.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Jeff Haran<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>