----------------------------------<snip>---------------------------
I think you are wasting your time. There are both commercial and free
(cbttape.org) debug programs that can load your code and execute it, and
trace instruction flow step by step. You might be able to detect that
this is happening, but there are many variants to guard against..... And
when they are detected in the trace, can be bypassed.
While instruction tracing is highly useful in many cases, CBT has a
number of disassemblers. Anything you put into a load module I can read
off disk, and analyze. If you look at some CBT contributions, you will
find a number of useful programs that were originally distributed only
in object or load-module format, that some enterprising minds have
disassembled and cleaned up for use (we all owe a great debt to Bill
Godfrey, among others, for his work with IBM type 3 and 4 programs). If
your program is less than 32K in size, I could probably duplicate its
source in workable form in less than a month. Also there are enough
individuals on this forum who could read your documentation, and produce
a reasonable facsimile of your program in about that time.
Your only real protection is to place legal restrictions on the code,
and embed copyright and trademark notices everywhere. As noted
elsewhere, corporations tend to be responsible about their licenses.
Determined hackers you cannot protect against.
----------------------------------<unsnip>----------------------------------
And don't forget that a proper licensing agreement is a very powerful
instrument in any legal procedings against improper or unauthorized use.
Courts tend to be very unforgiving about this sort of thing and the
actual settlement imposed by a court might very well include a large sum
in punitive damages, far beyond the perceived actual damages. Consult an
attorney that's familiar with these sorts of issues and build a good
license agreement. Worry about improving the product and forget about
trying to build internal "protection" code. And liberally "seed" the
code with copyright and/or trademark notices that are visible in the
object code.
Gerhard is correct; there is a plethora of disassemblers that work from
the disk images of the code; I even wrote one myself, to better
understand some of the MVS 3.8 code. Any one of them will completely
negate anything you might install in the code.
--
Rick
--
Accept the fact that some days you're the pigeon and some days you're the
statue.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html