[Info-vax] LMF Licence Generator Code

PoBe par.olov.bertilsson at gmail.com
Tue Sep 21 03:30:41 EDT 2021


torsdag 5 augusti 2021 kl. 06:55:23 UTC+2 skrev Lawrence D’Oliveiro:
> I had a look at the original pakgen.c source from mirrors.pdp-11.ru. I get the impression somebody disassembled a bunch of VAX machine language, then did a straight transliteration into C code. 
> 
> So I thought I would clean it up a bit. And I managed to knock its size down by a couple hundred lines. I also wrote a Python version, which is less than half the size of the original, and also add a few features. For example, I was able to add the HARDWARE_ID, TOKEN and VERSION atttributes by guessing at their codes. So far I haven’t been able to figure out the RELEASE_DATE and TERMINATION_DATE attributes, most likely because I can’t get the right date-encoding format.

I think you are right, it easy to assume that the attributes are treated as pure ASCII strings i.e. "dd-MMM-yyyy" but I do not think that is the case.
If you you try to register a license like "license register BRYSK /release_date=14-APR-1996 /checksum=2-BFMB-KYKE-CPRA-ALRT"  is say 
"checksum is  does not validate" but if you try to register it as "license register BRYSK /release_date=xxxxxxxx /checksum=2-BFMB-KYKE-CPRA-ALRT"
is says "invalid absolute time - use DD-MMM-YYYY:HH:MM:SS.CC format" so there is reasons to believe that the time string is converted to a internal time.
The actual "invalid absolute time..." error message looks like it is derived from the lexical (!) function f$cvtime. 

Also the notorious LMFGEN program takes the date arguments as "dd.mm.yyyy" according to the HELP documentation, but that is incorrect. The correct input  should be "yyyy.mm.dd".
So a far out guess; the time is converted to numeric time elements (e.g $numtim) like yyyy,mm and dd. These are concatenated/summed up  in some way and then CRC:ed as another license attribute.
But the error message could also be the result of an initial time string syntax check and the time value could be whatever. Good luck :-)

why did the people that created the pakgen.c did not do VERSION and RELEASE_DATE etc?
They put in a fair effort to crack everything (hard) so doing VERSION etc. must have been right at their fingers.





More information about the Info-vax mailing list