in reply to Re: An obfuscation script, and a question
in thread An obfuscation script, and a question

I don't think a source-code hiding program deserves our assistance.
I personally think this is a technically fascinating field and would enjoy learning more about it.

We've got this great programming language precisely because Larry gave the damn thing away.
... which should earn him our gratitude and respect. But I urge you to consider that even if Larry can easily make a living without ever writing closed code, through books, conferences, grants and what else (sorry for possible imprecisions, but I don't know much about his professional activities), not everybody can afford the same level of "programming purity". I can easily imagine fields where delivering closed-source code is the only commercially viable way.

Not that I am a big fan of proprietary software, especially from a user's point of view, but I believe the world has more shades of gray than one would be tempted to see.

Cheers

Antonio

The stupider the astronaut, the easier it is to win the trip to Vega - A. Tucket
  • Comment on Re: Re: An obfuscation script, and a question

Replies are listed 'Best First'.
Re: Re: Re: An obfuscation script, and a question
by hardburn (Abbot) on Mar 14, 2003 at 00:04 UTC

    This is getting off the topic, but:

    I personally think this is a technically fascinating field and would enjoy learning more about it.

    Learning is always good, but please don't make this into anything other than an educational experiance. Code obfuscators can always be reversed if the user(s) are determined enough to de-obfuscate.

    And on that note, I suggest looking at Acme::Bleach, Acme::Buckaroo, and many other modules in the Acme:: namespace.

    . . . not everybody can afford the same level of "programming purity".

    People are often surprised to learn just how much of the software ever written actually goes to a store shelf. About of all software either never leaves the company it was written in, or it was done on a contractual basis for a specific company and is never sold elsewhere. I'm not talking about failed projects--this is code that is used internally and is often specific to the way a certain company operates.

    If it's never going to leave the company, why would you care what it is licensed under? And why would you want to obfuscate the code? That would just make things harder for a future maintenance programmer.

    ----
    Reinvent a rounder wheel.

    Note: All code is untested, unless otherwise stated

      Code obfuscators can always be reversed if the user(s) are determined enough to de-obfuscate
      This is as true of obfuscated code as it is of compiled programs. While you make it more difficult to reverse-engineer the program, the information is still all there. This might only be changed if some cryptographic techniques become available, allowing to run an application in an untrusted environment without leaking information on the algorithm (I am not able to find relevant links at the moment, but it's an active field of research).

      Since you mention Acme::Bleach and Acme::Buckaroo, I'd like to point out that they have no use as obfuscators for commercial source-hiding purposes, since during execution the program is reverted to its original form (comments and all) and then evaluated.

      Cheers

      Antonio

      The stupider the astronaut, the easier it is to win the trip to Vega - A. Tucket

        This might only be changed if some cryptographic techniques become available, allowing to run an application in an untrusted environment without leaking information on the algorithm (I am not able to find relevant links at the moment, but it's an active field of research).
        No, actually that doesn't work. Its just a high level of obfuscation. All that does is put the code into a package, include the unpackager along with the appropriate secret to unlock the package. All you could hope for as the author was that you'd been clever enough so that enough attackers were deterred.

        Its just a higher wall - You can still go over it or find ways around it.


        Seeking Green geeks in Minnesota

        . . . since during execution the program is reverted to its original form (comments and all) and then evaluated.

        So? Commercial Perl obfus can be undone by B::Deparse. You don't get comments back, but it will at least format the code for you.

        ----
        Reinvent a rounder wheel.

        Note: All code is untested, unless otherwise stated