Some time ago I wrote a bit about examining the “branding” system which was used by XENIX and other SCO products and based on the crypt() UNIX library function. At the time I assumed that only SCO had used this scheme for their various UNIX derivatives and UNIX-based software. Imagine my surprise when I came across a copy of Multi-User FoxBASE+ 2.10 for DOS from June 1988 and found BRAND.EXE on the installation floppy. Could it really be the XENIX thing?
Sure enough, it really was. It even retained the same dual functionality in that if BRAND.EXE is renamed (or copied) to DEBRAND.EXE, it changes its behavior and can un-brand and encrypt a previously branded file.
The format of the encrypted un-branded executable is not quite the same as that of branded files on SCO XENIX, but the format of the branded file is. There’s the exact same
-c%7# marker, and the serial number with activation key are stored in exactly the same way. The serial number plus activation key also check out as a valid combination for SCO products (but can only be used if said product uses the same three-character code embedded in the activation key). Here’s the proof:
Obviously that can’t be a coincidence. But why would FoxBASE+ be using SCO’s serial number system? That’s actually not so hard to answer. In 1987, SCO was offering “SCO FoxBASE+“, which of course needed the XENIX brand utility to decrypt and insert the serial number. Fox Software had to be familiar with that approach to combating software piracy, and clearly liked it well enough that they used it for their DOS-based product.