[comp.os.vms] Software protection using SID

SHANE@UTDALVM1.BITNET (Shane Davis) (07/01/88)

>Hey,
>
>a friend of mine has a problem with his software. He wants to protect it
>against using without having his licence. I'm working in a research
>institute and therefore not involved in working with these mechanisms...
>
>There might be 3 ways for doing such a protection:
>
>- Reading the CPU identification and testing it in the program
>- giving a key to the user (like DEC does it now)
>- Reading the Ethernet Hardware adress from DEQNA (if the software is
>  designed to work with a DEQNA...)
>- ...
>
>Now , my problem is:
>
>- How can we get the cpu identification (F$GETSYI("SID")??) from within
>  the program and is this  a secure method?

There is a system service routine you can use to get the SID; I am not sure
if it returns the full 64-bit SID or only the constant 32-bits. It is
SYS$GETSYI and is listed in the System Services Manual.

I would not recommend this method of software protection. Only 32 bits of the
SID are constant (perhaps fewer, I don't recall and we have no VMS systems
here...ugh, I'm suffering withdrawal) and the other 32 can change according
to CPU revision level and how the jumpers on the backplane are set up. One
system's managers upgraded the console software on their 8800 and found that
a number of pieces of software had stopped working. I believe a bug was found
in the console software which prevented it from properly reading the jumpers
on the backplane, but in any case, if one of the CPU's had gone bad and had
been replaced, this, too, could change the SID.

Good luck,

--Shane Davis
  Now bahished to the IBM and UN*X world at Univ. of Texas at Dallas
  SHANE@UTDALVM1, rsd@encg1.dal.utexas.edu, rsd@manmax03.dal.utexas.edu