Ah, the good 'ole days of parallel port dongle cracking!
In the early 90's (some 30 years ago) many software packages had parallel port dongles that were dead simple, and it was a hobby of mine to crack them.
In those days, the application software would typically send out a series of state changes on a single bit of the byte-wide parallel port. In response, the ACK or the BSY signal would change state back to the PC. If the ACK or the BSY signal had the correct response, the application software would continue to run on the PC.
I captured the "exchange" between the application software and its' corresponding dongle, with a logic analyzer with a deep buffer, and found that a similar scheme was used by many sometimes very expensive CAD packages, such as Viewlogic, Altera Maxplus, Xilinx, Gerber Editors, DXF file conversion utilities, etc. Where I worked at the time, we had licensed copies of all this software. Once I had captured the "exchange", I wrote some assembler software for the relatively new PIC series of processors to monitor the data bit in question and mimic the ACK or BSY response that the original dongle would generate.
I had designed a little circuit board that fit into a gender bender enclosure and contained the pic processor. In those days none of the pics were in-circuit-programmable so I had to use a device programmer, then test the PIC in a socketed version of the circuit board (see pic below).
I was ultimately successful at creating about 20 dongles for a wide variety of software packages (great fun). Version upgrades of the software would change the queary/response cycle so I would have to update my PIC software appropriately.
I later learned that LFSR's (linear feedback shift registers), which are basically counters alluded to above, were likely used in the production versions of the dongles that came with the original software packages. Apparently, my PIC processor software could respond quickly enough, such that the application software "believed" there was a real dongle out there.
Later the dongles would typically employ encryption/decryption techniques which made them much harder to crack and was way beyond my abilities.