discuss: virus writing HOWTO
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/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'