Article View: comp.lang.postscript
Article #7714eexec, unknown operators
From: Carsten Wiethoff
Date: Thu, 15 Dec 1988 13:46
Date: Thu, 15 Dec 1988 13:46
68 lines
3381 bytes
3381 bytes
Some time ago there were some questions on this group regarding the postscript
eexec operator. There were some answers, too, but in general there does not
seem to be too much information available.
I hacked around a little myself but the facts are not many, nevertheless
there seem to be some theories about how the eexec operator works that
are quite plausible:
- Looking at statistics, I tend to believe that the data given to eexec
are somehow compressed. I didn't try the standard compression algorithms
yet, but unfortunately most compression algorithms make (a little modified)
rather good encryption algorithms.
- Decompressed the data seem to be pure postscript, possibly in some kind of
token form for the internal operators.
- It must be possible to access parts of the postscript machine that are
otherwise inaccessible. For example I have an eexec program that patches
the UART driver of some version of the Laserwriter.
I tend to believe that it is possible to write any data to any memory
location and to install and execute machine code programs.
Possibly in the eexec context some access restrictions do not apply
(unreadable dictionaries could become accessible).
There exists one dictionary in systemdict, which is called "internaldict",
but which is set to noaccess. (I didn't verify it, but possibly this
internaldict is only known in the context of executing the procedure
given to "framedevice", see below)
Dealing with the problem to extract bitmap fonts from a Laserwriter, there
was the "banddevice" operator mentioned, I don't recall by whom.
This is misleading, since the Laserwriter is a "framedevice", not a
banddevice. One parameter to the framedevice operator is a procedure that
is called, if a copypage or showpage is executed. I do not see any possibility
to access the bits in the framebuffer, since all that this procedure usually
does is to care for #copies , set the blink mode and to execute an internal
operator to print out a page.
Somebody also mentioned an article in the September 1988 issue of the
"computer shopper" where something about the eexec format was detailed.
Unfortunately I was not able to get hold of a copy, so I would be very
thankful for a short abstract or preferably a copy of the article. (Send
email first, I don't want to make the photocopy-industry richer than
necessary).
Any opinions or knowledge on the internal features of postscript would be
interesting for me. Thanx for listening...
P.S.: What is cexec, setram, setrom, currentpacking, makevm, psdevice,
setpacking and all the other undocumented operators ???
Carsten Wiethoff
Friedrich-Alexander Universitaet
Erlangen-Nuernberg
CS Department IMMD IV
Martensstrasse 1
8520 Erlangen
-------------
West Germany
Voice: +49/(0)9131/85-7908
E-mail: cnwietho@immd4.informatik.uni-erlangen.de
#include <disclaimer.h>
Technical Details
Message-ID:
<773@faui10.informatik.uni-erlangen.de>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!mcvax!unido!fauern!faui44!cnwiethoShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!mcvax!unido!fauern!faui44!cnwietho From: cnwietho@faui44.informatik.uni-erlangen.de (Carsten Wiethoff ) Newsgroups: comp.lang.postscript Subject: eexec, unknown operators Keywords: eexec, postscript Message-ID: <773@faui10.informatik.uni-erlangen.de> Date: 15 Dec 88 13:46:35 GMT Organization: CSD University of Erlangen, W-Germany Lines: 68