Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Greetings, wise ones (humbled, as always, at your presence)

I was wondering how difficult it would be to spike Perl a bit -- for whatever ghastly reason -- with some compiled-in encryption capability that would allow encrypted source files to be decrypted on the fly and in memory only. Let's call such a crypto-capable Perl, for reference here, CryPerl (as no doubt the mere idea would bring tears to the eyes of many a Perl veteran). When compiling CryPerl (actually, when compiling Perl with the hypothetical cry switch), it would tell me the key with which to encrypt my source files. Let's say we use the pgp paradigm and call this the public key. The private key would be built into the CryPerl binary and very difficult to discern by studying that binary. You would start your script #!/usr/local/bin/cryperl The rest of that script, and your modules if you like (but not other people's modules, unless they specifically allow such use) would be encrypted. CryPerl should be easily able to detect whether a script or a module is plaintext, and if so, invoke plain old Perl. If if finds an encrypted file, it would decrypt it, only in memory, and invoke regular Perl on the decrypted form. The offender would then be able to distribute her own particular version of cryperl and her encrypted scripts and modules and be damned for eternity.

Update: Would it be possible for cryperl to disable Deparse and friends? To make myself clearer, I am trying to pipe-dream about something that the p5p guys would implement. if enabled during perl build, cryperl would be one of two binary outputs of the perl build process (the other one being regular perl). Could underground Deparsing activity conceivably be blocked -- by design, by p5p people -- for cryperl (NOT regular perl, which the perl build would also produce as usual)?

Update: (after a few messages with some very helpful monks) cryperl would not support -d or -M.

Update: Thanks for all the feedback in replies and messages.

In reply to CryPerl. by fenLisesi

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (4)
    As of 2020-01-19 02:58 GMT
    Find Nodes?
      Voting Booth?