thought that I would share my method. I'm not saying that is better, or
even different .... it does however work.
I write applications for Novell and wanted to be able to produce a single
EXE and then be able to have that EXE 'READ ITSELF' to get a unique
serial number and file server name. You may wish to use the file server
name string for a password or some other such item.
I use a form of this utility along with NetLib from Communications
Horizions (a simply great product) to allow my applications to only run on
the file server for which is has been 'BURNED IN' for.
My serialization system simply adds a data segment onto the end of your
EXE file, therefore the size will be increased by 63 bytes, 15 for the
serial number and 48 for the file server name.
The source code is encluded here for your reading pleasure, (eligent its not)
and feel free to do whatever you wish, with the exception of marketing it,
or any form created from it as a similar utility. Do feel free to use it
in your applications, either for your own use, or for others.
You might wish to modify the the code, to encrypt the data segment before
it is tacked onto the EXE file. This way someone in Debug or Nortons cant
scan throught the file and read the serial / file server stuff.
This stuff is not for sale .... but I do ask a couple of things. If you
use it ... let me know ... I'd be interested. If you make any enhancements
to this code or idea, I would like a copy, and if you don't change it but
do use it, send along some little tid-bit of code that you have worked on
that you think is neat. Basically, just keep in touch.
There are two main protions to this utility. The first is found in
SERIAL.PRG. This utility prompts you for an EXE file name, a serial
number and a file server name. It then 'BURNS IN' this info onto/into
the given EXE file. The second portion is shown in TEST.PRG to have an
EXE read itself and get the 'BURNED IN' serial number and file server name.
The code, while not very pretty, ( I started using this technique about
a year ago) does work well. (Which I guess is why I have not worked on it)
One thing that I have been meaning to do (Hint .. Hint .. Hint) is to
redo SERIAL.PRG to facilitate 'BURNING IN' of many diskettes with the
same EXE and file server name, but with incremental serial numbers,
with info stored in a data base for tracking perposes. No big deal
... just no time either.
I have several clients with multiple file server environments (30-40 file
servers each) and I KNOW that using this technique along with NetLib has
caused increased sales because they cant share the software around
(a la bootleg) from file server to file server.
Enjoy, and keep in touch ......
Dave Irwin CIS: 76137,3150
1550 Grosvenor Road