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

Re: Morality of posting Perl "virus" code?

by da (Friar)
on Jun 28, 2001 at 01:44 UTC ( [id://92077]=note: print w/replies, xml ) Need Help??


in reply to Morality of posting Perl "virus" code?

Damian Conway wrote a self-modifying program called "SelfGOL" which also uses seek on the <DATA> handle, in a similar manner (I believe; it's pretty obfuscated code, and I haven't yet seen the talk where he explains it).

However, the code is easy to locate on the web. If somebody wants to use seek with __DATA__ they've had quite a while to figure out how.

Personally, I think a perl virus is much less worrying than a compiled executable virus for the obvious reasons, but the topic is intellectually fascinating.

Here's his description of the talk:

_______________________

Extreme Perl -- The Horror That Is SelfGOL

In this talk I dissect the SelfGOL program: an obfuscated, self-aware, viral quine that can:

  • self-replicate,
  • rewrite other Perl programs to allow them to self-replicate,
  • detect un-rewritable Perl programs,
  • execute itself or other Perl programs as cellular automata of arbitrary size (to play Conway's "Game of Life"),
  • animate any short text as a cycling marquee banner.

SelfGOL accomplishes these feats in under 1000 bytes of standard Perl, without importing any modules, and without using a single if, unless, while, until, for, foreach, goto, next, last, redo, map, or grep.

To do all that in under 1K of code, it relies on some extreme programming techniques, and on many of the obscure backwaters of the Perl syntax. This talk explores both.

_______________________

He's coming to boston.pm in less than two weeks; if we're lucky he may do this talk.

___
-DA

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2024-04-23 13:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found