Author Topic: Printer port hardware keys  (Read 2186 times)

0 Members and 1 Guest are viewing this topic.

Offline joeqsmithTopic starter

  • Super Contributor
  • ***
  • Posts: 13831
  • Country: us
Printer port hardware keys
« on: September 06, 2022, 11:22:24 pm »
I have reverse engineered a key for a program called KeyCad which was a little more than a counter but sadly, I need the aluminum box and connectors for another project.

Rainbow dev kit and various keys for Altera and Xilinx.
The home made key was something I made for PSPICE.  The earliest version I modified the code to skip their laser burned disk.   
Also shown is my home made Motorola BDM and JTAG interfaces.   Both of these required custom code.

The last few hardware keys I went after, I placed into FPGAs.

Offline jmarkwolf

  • Regular Contributor
  • *
  • Posts: 115
Re: Printer port hardware keys
« Reply #1 on: October 04, 2022, 02:27:41 pm »
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.

« Last Edit: October 04, 2022, 02:39:37 pm by jmarkwolf »
 
The following users thanked this post: boB

Offline jc101

  • Frequent Contributor
  • **
  • Posts: 802
  • Country: gb
Re: Printer port hardware keys
« Reply #2 on: October 04, 2022, 05:43:58 pm »
Way back in time at Uni we had some software that needed a parallel port dongle to work, they only had one licence. 
However, putting the dongle on output of the the bi-directional parallel port printer sharer meant all 16 computers in the lab happily ran the software, the dongle being shared between them without issue.
 
The following users thanked this post: boB

Online pcprogrammer

  • Super Contributor
  • ***
  • Posts: 5606
  • Country: nl
Re: Printer port hardware keys
« Reply #3 on: October 04, 2022, 06:02:56 pm »
The early dongles were very simple pulse counters like the original poster described. I used a Siemens SAB80535 running FORTH to mimic one for Xilinx XACT.

I still have a dongle for OrCAD MS-DOS version, recently discussed here on the forum: https://www.eevblog.com/forum/vintage-computing/orcad-for-msdos/

Here is a photo of the inside:



Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf