<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: deception in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924908#M110375</link>
    <description>any more ideas ?</description>
    <pubDate>Fri, 21 Mar 2003 03:50:14 GMT</pubDate>
    <dc:creator>U.SivaKumar_2</dc:creator>
    <dc:date>2003-03-21T03:50:14Z</dc:date>
    <item>
      <title>deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924903#M110370</link>
      <description>Hi all ,&lt;BR /&gt;&lt;BR /&gt;How to conceal the programming logic , library details and other unwanted details in a binary in unix to prevent Unix binary piracy ?&lt;BR /&gt;&lt;BR /&gt;I am aware of strip command. Please suggest more .&lt;BR /&gt;&lt;BR /&gt;regards,&lt;BR /&gt;&lt;BR /&gt;U.SivaKumar&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Mar 2003 07:41:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924903#M110370</guid>
      <dc:creator>U.SivaKumar_2</dc:creator>
      <dc:date>2003-03-12T07:41:02Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924904#M110371</link>
      <description>Run;&lt;BR /&gt;/opt/ifor/ls/bin/i4target&lt;BR /&gt;&lt;BR /&gt;On any HP box this gives a unique SPU Target id (like a serial number) which you can then hardcode into your binary (to check it matches). Ive known other 3rd parties which do this. That way if the user copies the binary to any other HP server it wont run.&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Mar 2003 10:20:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924904#M110371</guid>
      <dc:creator>Stefan Farrelly</dc:creator>
      <dc:date>2003-03-12T10:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924905#M110372</link>
      <description>&lt;BR /&gt;Interesting question. I used to write de-compilers, basically converting binary back into code. I've even written code to rip word processing files (in the Word Perfect days).&lt;BR /&gt;&lt;BR /&gt;I really don't think there is a way to totally insure that someone can do something to the code, other than encrypting the code, and then decrypt it just before it's execution.&lt;BR /&gt;&lt;BR /&gt;You could build a pseudo run-time engine or use the java engine and then decrypt the encrypted pseudo-code and feed it to a pseudo run-time engine at run time.&lt;BR /&gt;&lt;BR /&gt;Of course the encryption/decryption would have to be "strong".&lt;BR /&gt;&lt;BR /&gt;Good luck!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;live free or die&lt;BR /&gt;harry&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Mar 2003 12:01:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924905#M110372</guid>
      <dc:creator>harry d brown jr</dc:creator>
      <dc:date>2003-03-12T12:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924906#M110373</link>
      <description>?? Stripping does help much if it uses shared libraries, so the first step is to build static binaries. Stripping static binaries removes a lot more info than stripping binaries that need shared libs.&lt;BR /&gt;?? If you have to use shared libs, use misleading sub names. Don't call you subroutine 'get_password ()', or 'check_license ()' or 'validate_key ()'. These are hotspots for reverse engineers.&lt;BR /&gt;?? Spread static strings accross your code, and assemble them in the init phase, preferably not in consequtive lines&lt;BR /&gt;&lt;BR /&gt;static char password[40];&lt;BR /&gt;&lt;BR /&gt;int init ()&lt;BR /&gt;{&lt;BR /&gt;password[4] = 'a';&lt;BR /&gt;password[0] = (char)sqrt (16) + 'd';&lt;BR /&gt;:&lt;BR /&gt;:&lt;BR /&gt;} /* init */&lt;BR /&gt;&lt;BR /&gt;of course you did not call this routine init, but 'print' or 'timeofday' or 'reply' or ... :)&lt;BR /&gt;&lt;BR /&gt;Enjoy, have FUN! H.Merijn</description>
      <pubDate>Wed, 12 Mar 2003 12:23:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924906#M110373</guid>
      <dc:creator>H.Merijn Brand (procura</dc:creator>
      <dc:date>2003-03-12T12:23:03Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924907#M110374</link>
      <description>I can tell you how it was done on other game platforms.&lt;BR /&gt;&lt;BR /&gt;They did xor's on part of the binary, and stored that at different places in the binary, overwriting the parts that were encrypted with xor.&lt;BR /&gt;&lt;BR /&gt;When the binary started execution, there was a stub loader that jumped around in the binary, executing the instructions to reassemble the binary in memory for execution.  IE, the reassemble code was not consecutive.&lt;BR /&gt;&lt;BR /&gt;I'm sure that an encrytpion processor was written to process these binary's and add the needed code to decrypt them.&lt;BR /&gt;&lt;BR /&gt;Hard in HPUX to do it like the Apple did, they stored parts of the encrypted binary at different 1/4 track intervals on the floppy, or punched a hole at a specific place and then looked for a bad sector read at that place.&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Mar 2003 13:40:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924907#M110374</guid>
      <dc:creator>John Bolene</dc:creator>
      <dc:date>2003-03-12T13:40:24Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924908#M110375</link>
      <description>any more ideas ?</description>
      <pubDate>Fri, 21 Mar 2003 03:50:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924908#M110375</guid>
      <dc:creator>U.SivaKumar_2</dc:creator>
      <dc:date>2003-03-21T03:50:14Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924909#M110376</link>
      <description>Hi Siva,&lt;BR /&gt;&lt;BR /&gt;One way is to provide a key to the end user that can be used to decrypt another key inside the binary using which the original code is encrypted. That can actually initiate a CBC (cypher block chaining) which means successful decryption of one cipherblock will ensure successful decryption of the following cipherblocks.&lt;BR /&gt;&lt;BR /&gt;This way, you can protect the legality as well the code.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-Sri&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 21 Mar 2003 04:26:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924909#M110376</guid>
      <dc:creator>Sridhar Bhaskarla</dc:creator>
      <dc:date>2003-03-21T04:26:55Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924910#M110377</link>
      <description>I'm for the activation key concept.  With some pretty basic tools you can make your application require a key that you generate and that's only good for one day.&lt;BR /&gt;&lt;BR /&gt;That's how Easyspooler does it with their print spooler.  &lt;BR /&gt;&lt;BR /&gt;SEP</description>
      <pubDate>Fri, 21 Mar 2003 04:29:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924910#M110377</guid>
      <dc:creator>Steven E. Protter</dc:creator>
      <dc:date>2003-03-21T04:29:23Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924911#M110378</link>
      <description>I think in order to get meaningful responses, you should explain what *you* *precisely* mean by "Unix binary piracy".&lt;BR /&gt;&lt;BR /&gt;For example Stefan and Harry address totally different aspects of 'piracy' (copy/installation protection versus reverse-engineering protection). So what do *you* want?</description>
      <pubDate>Fri, 21 Mar 2003 12:36:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924911#M110378</guid>
      <dc:creator>Frank Slootweg</dc:creator>
      <dc:date>2003-03-21T12:36:59Z</dc:date>
    </item>
    <item>
      <title>Re: deception</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924912#M110379</link>
      <description>hi,&lt;BR /&gt;&lt;BR /&gt;on a lighter vein, see this&lt;BR /&gt;&lt;A href="http://www.exmsft.com/~hanss/badcode.htm" target="_blank"&gt;http://www.exmsft.com/~hanss/badcode.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;i remember reading another excellent article but unable to locate it now. :-)&lt;BR /&gt;-balaji</description>
      <pubDate>Fri, 21 Mar 2003 13:08:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/deception/m-p/2924912#M110379</guid>
      <dc:creator>Balaji N</dc:creator>
      <dc:date>2003-03-21T13:08:17Z</dc:date>
    </item>
  </channel>
</rss>

