Article View: comp.os.msdos.programmer
Article #1477Re: studying executables
From: Duncan Murdoch
Date: Sun, 13 Sep 1992 02:42
Date: Sun, 13 Sep 1992 02:42
53 lines
2989 bytes
2989 bytes
In article <2186.2AB2264A@catpe.alt.za> Louis.Mandelstam@p2.f42.n7101.z5.fidonet.org (Louis Mandelstam) writes:
> > Actually, assemblers have their own way of producing
> > executables, too.
> > There is a share-ware assembler (I think it is called
> > A86) that even
> > says that it creates opcodes different from other
> > assemblers. This
> > way, the author can sue unregistered owners for not
> > registering.
>
>Any court that accepts THAT as evidence needs a 1 exavolt discharge
>in the right place..
>
>What if the programmer created the executable in DEBUG, hand-changed some
>of the bytes in the executable after linking or <gulp> did it in machine
>language?
The actual claim (quoted from the A86 docs) is this:
6. A86 takes advantage of situations in which more than one set
of opcodes can be generated for the same instruction. (For
example, MOV AX,BX can be generated using either an 89 or 8B
opcode, by reversing fields in the following ModRM byte. Both
forms are absolutely identical in functionality and execution
speed.) A86 adopts an unusual mix of choices in such
situations. This creates a code-generation "footprint" that
occupies no space in your program file, but will enable me to
tell, and to demonstrate in a court of law, if a non-trivial
object file has been produced by A86. The specification for
this "footprint" is sufficiently obscure and complicated that
it would be impossible to duplicate by accident. I claim
exclusive rights to the particular "footprint" I have chosen,
and prohibit anyone from duplicating it. This has at least
two specific implications:
a. Any assembler that duplicates the "footprint" is mine. If
it is not identified as mine and issued under these terms,
then those who sell or distribute the assembler will be
subject to prosecution.
b. Any program marked with the "footprint" has been produced
by my assembler. It is subject to condition 5 above.
I don't know if he's ever tried to enforce this. It's pretty much moot these
days, as other assemblers have come down in price a lot since A86 came out,
and surpassed its capabilities in a lot of areas. I still use A86 a bit,
because I like its language definition better than MASM's or TASM's,
but more often just use the inline assembler in Turbo Pascal (which is
a MASM subset, but a lot more convenient than a separate assembler).
Duncan Murdoch
dmurdoch@mast.queensu.ca
Technical Details
Message-ID:
<dmurdoch.76.716352153@mast.queensu.ca>Path:
arc1-ca.pugleaf.net!sparky!uunet!wupost!cs.utexas.edu!torn!news.ccs.queensu.ca!slip202.telnet1.QueensU.CA!dmurdochReferences:
<2186.2AB2264A@catpe.alt.za>Show Full Headers
Complete Article Headers
Newsgroups: comp.os.msdos.programmer Path: arc1-ca.pugleaf.net!sparky!uunet!wupost!cs.utexas.edu!torn!news.ccs.queensu.ca!slip202.telnet1.QueensU.CA!dmurdoch From: dmurdoch@mast.queensu.ca (Duncan Murdoch) Subject: Re: studying executables Message-ID: <dmurdoch.76.716352153@mast.queensu.ca> Lines: 53 Sender: news@knot.ccs.queensu.ca (Netnews control) Organization: Queen's University References: <2186.2AB2264A@catpe.alt.za> Date: Sun, 13 Sep 1992 02:42:33 GMT