calcseed 1.0 

This program is used to derive encryption seeds 1 and 2 from 
programs protected with version 7.2 FLEXlm.

FLEXlm hides the seeds by creating special segments of code that
generate encrypted versions of the vendorcode structure, which
holds the encryption seeds.  A special decrypting subroutine is
called from l_sg to reveal these seeds, but the standard
implementation does not actually store the correct seeds in the
vendorcode structure after the call - instead the data is xored with
specific values stored in the job structure.  The specific bytes that
are selected are based on the first character of the vendor name.

Earlier versions of FLEXlm could be forced to reveal the seeds by 
passing in a NULL pointer as the first argument to the lm_new routine.
This deficiency has been addressed in the latest version of FLEXlm,
however the actual algorithm used by Globetrotter to select the bytes
to XOR against has not been changed.

