Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^24: Perl 6 ... dead? (no, just convalescing)

by jryan (Vicar)
on Sep 03, 2004 at 21:34 UTC ( #388421=note: print w/ replies, xml ) Need Help??


in reply to Re^23: Perl 6 ... dead? (no, just convalescing)
in thread Perl 6 ... dead?

I'm not sure where you got the idea that Visual Basic was non-decompilable. Take a look at: http://www.program-transformation.org/Transform/VisualBasicDecompilers.

Any unencrypted language is decompilable. Think about it: the computer/virtual machine/interpreter has to be able to run the program, right? To do that, it must be in some sort of order. The logic must be there some how. A decompiler is just a program that goes through the code (whether it be plaintext, bytecode, or machine code) just like whatever is running the code, but instead of running each command, it spits out equivalant source code for that command. (That's just a simplication, of course; decompilers need to be a bit more sophisticated to handle a command that maps to several lines of lower level code, for instance).

So, knowing this, you should be able to see why decompilers are *not* a good way to secure source code. The only way source code would really be secure is if a computer/virtual-machine/interpreter/whatever-is-running-your-code had a way to natively encrypt/decrypt the source. (Think: you supply a password when compiling your program, and your user has to enter this password when running your program). I do not know of any language that has this feature, not even Java, probably because it would be a huge pain in the ass to users.


Comment on Re^24: Perl 6 ... dead? (no, just convalescing)
Re^25: Perl 6 ... dead? (no, just convalescing)
by Aristotle (Chancellor) on Sep 03, 2004 at 22:36 UTC

    That means the decryption algorithm is standardized and known. (If it is not, the VM is subject to the same decompilation issues as the bytecode was in your other scenarios.) That defeats the entire purpose and makes decrypting the "natively" encrypted bytecode trivial.

    There is no scheme ever that works — by definition. The only way to prevent reverse engineering is having control of the hardware.

    Makeshifts last the longest.

      You're saying that RSA - encrypted JVM bytecode would be trivial to decrypt?

        That's exactly equivalent to the DVD Content Scambling System. It hinges on the security of the decryption key, which is delivered to every user, hidden inside the VM. Remember what happened to CSS?

        Makeshifts last the longest.

Re^25: Perl 6 ... dead? (no, just convalescing)
by Wassercrats on Sep 04, 2004 at 01:53 UTC
    I got the idea from diotalevi. I don't remember his exact words, but he said Visual Basic might be what I'm looking for. On the other hand, he also told me never, ever to use Archive::Tar, and disappeared when I questioned him, leaving me and another monk confuddled in CB. He might have been being sarcastic both times. Reckless sarcasm --.

    You said "(That's just a simplication, of course; decompilers need to be a bit more sophisticated to handle a command that maps to several lines of lower level code, for instance)"

    Therein lies the major difference between a machine language interpreter and a machine language to high level language compiler. The former obviously must exist to run the program, but the latter is not necessary in programming, and is difficult to build.

    This is basic stuff. I'm not going against common computer industry knowledge with this. Compiled programs for which there is no complete, free, well known decompiler are more safe from piracy.

      Compiled programs for which there is no complete, free, well known decompiler are more safe from piracy.
      That is not true
Re^25: Perl 6 ... dead? (no, just convalescing)
by Wassercrats on Oct 03, 2004 at 12:46 UTC
    I was in need of a Visual Basic 6 decompiler and searched for one without referring to the webpage full of decompilers that you linked to. I found a couple of links to decompilers for older versions of VB, I found someone saying that VB decompilers for new versions don't exist, I found several people asking for one and receiving no answer, and found several VB "decompiler defeaters," one of which the web page you linked to lists.

    Looks like Visual Basic might be safer than Perl after all.

      Um, ok. Believe that if you really want to.

      By the way, the page I linked to is the first result for the google search for "Visual Basic decompilers". I'm not sure how you're searching, but it must be pretty poorly.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://388421]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2014-12-25 12:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls