discuss: virus writing HOWTO


Previous by date: 9 Mar 2002 22:02:03 -0000 Re: New Editor, Hal Burgiss
Next by date: 9 Mar 2002 22:02:03 -0000 Re: virus writing HOWTO, Steve Sanfratello
Previous in thread: 9 Mar 2002 22:02:03 -0000 Re: virus writing HOWTO, Hal Burgiss
Next in thread: 9 Mar 2002 22:02:03 -0000 Re: virus writing HOWTO, Steve Sanfratello

Subject: Re: virus writing HOWTO
From: Charles Curley ####@####.####
Date: 9 Mar 2002 22:02:03 -0000
Message-Id: <20020309150136.A24815@trib.com>

On Sat, Mar 09, 2002 at 04:50:50PM -0500, David Merrill wrote:
> On Sat, Mar 09, 2002 at 08:56:13PM +0000, Martin WHEELER wrote:
> > On Sat, 9 Mar 2002, David Merrill wrote:
> > 
> > > We got a submission of a Virus-Writing-HOWTO
> > 
> > Seriously -- have we got a tame legal beagle online who can come up with
> > a standard publisher's disclaimer about use made of material published?
> > (i.e. we take no responsibility whatsoever for what you do with the
> > Nuclear Weapons / Virus-Writing / Biological Warfare HOWTOs, etc.)

Perhaps further stating that this document is intended to help sys
admins understand viruses so as to be better prepared to act against
them?


> > 
> > Alternatively, do we have a policy statement anywhere saying what is,
> > and what is not, the proper domain of the LDP?
> 
> We do have a policy, and the policy is that we publish anything
> that helps people learn and use Linux. This document fits the
> criteria.

Er, what is the relevance of viruses to Linux? As I understand it,
Linux is not subject to virus attack (see my .sig below :-), so how
can a HOWTO on writing viruses "help people learn and use Linux"?

I'd like to see the thing published. Given this policy, I'm not sure
it fits the LDP's mission.

Now, something that might be suitable is how to use a Linux box to
check incoming ftp/http and email data for embedded viruses and trojan
horses before they even get to the Windows boxes inside the
firewall. I solve that problem by not running any windows boxes, but
not everyone has that luxury.

-- 

		-- C^2

The world's most effective anti-virus software: Linux.

Looking for fine software and/or web pages?
http://w3.trib.com/~ccurley

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Mon Jul 1 15:58:14 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x909bc6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x90fd10c>, global ctxt = {'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x909b1ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=2440)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x909b1b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x9113eac>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x9113eac>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x909b1b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x91191ec>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x91191ec>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x909b144>, ctxt = {'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x91191ec>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 7, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x91191ec>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x9093e9c>, global html = <function html at 0x9093ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x911a6b0>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x9093e9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x902ca7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x90a4cac>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x90a4cac>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'