Parallel port dongle lost-Cant install EDA software without it-Any workarounds? - Page 1
Forum section: electronics / general

author: djsb
author_rank: Super Contributor
timestamp: June 30, 2024, 10:57:07 am
content: I have a legitimate copy of Microsim PSpice with product key and installation disk. The software installs something called HASP and asks me to plug in the parallel port dongle that originally came with the software (which I can't find at the moment). I'm guessing that it writes to the parallel port and also reads back, how the pins on the port are hard-wired. I don't have a PC with a parallel port, but I can install a card if I need to. Problem is are these genuine parallel ports or emulated ones. It seems that the old laptop I've tried to install it on installs HASP fine and does not complain that there is no actual LPT port on the laptop. This is probably because the address used by the LPT port is present, but just not being used by actual hardware.Does anyone know of any software that can intercept any signals sent to or read from the parallel port on a PC internally. I could probably write something in assembly language (or even BASIC) if I needed to. Any ideas?PS This is just something that I'd like to do but it's not the end of the world if I cant get it to work. The software is from the late 1990's but could be useful. I'm trying to install it on windows 7 and the setup runs fine. Just refuses to install when it detects no dongle. No sign of the dongle so far. I remember that it was a centronics style plug in adaptor. I might turn up but not holding my breath.

author: Psi
author_rank: Super Contributor
timestamp: June 30, 2024, 11:48:40 am
content: I doubt it reads how the port is hard wired. More likely there is a chip in the dongle and the app queries with some random data and checks the result matches some formula.You can get modern PCI/PCIe cards that will give the PC a proper hardware based printer port.But you need an OS that still supports printer ports, i don't think win10 does. but i cant say i've checkedAnd of course you need the dongle

author: brucehoult
author_rank: Super Contributor
timestamp: June 30, 2024, 12:15:26 pm
content: You can patch out either the conditional branch that says good/bad or NOP the whole function call.Back in the 90s I made good consulting money doing this for typically pre-press companies that had a shedload of genuine paid for software and a long daisy chain of stacked ADB dongles on each workstation. The whole thing rapidly got unwieldy and unreliable.I typically just used a standard debugger for that -- or Steve Jasik's MacNosy -- but these days Ghidra is an amazing tool. It also helps vastly when they leave the debugging symbols in the program, and there is a function with a name like "checkDongle()".

author: tooki
author_rank: Super Contributor
timestamp: June 30, 2024, 02:17:51 pm
content: Quote from: brucehoult on June 30, 2024, 12:15:26 pmHeh, remember when Quark shipped out iMate USB-ADB converters to Xpress customers because they still hadn’t figured out how to do a USB dongle?

author: djsb
author_rank: Super Contributor
timestamp: January 10, 2025, 05:51:58 pm
content: Found the parallel dongle whilst tidying up the flat today. I have Lenovo Edge 72 with a parallel port, so I'll try it out on that at some point. I'm just wondering if software that was meant to run under Windows 95 (was it 16 or 32 bit back then?) will run in Windows 7 64 bit?

author: tom66
author_rank: Super Contributor
timestamp: January 10, 2025, 06:07:46 pm
content: Windows 95 was native 32-bit but could run 16-bit apps. It's likely that the app is 32-bit if it's Windows 95 era, though it could be a ported DOS app.In theory, Win7 will run old apps like that, but compatibility issues do occur.

author: G0HZU
author_rank: Super Contributor
timestamp: January 10, 2025, 06:55:25 pm
content: Quote from: brucehoult on June 30, 2024, 12:15:26 pmI used to do it using a D type connector (with some LEDs) in place of the dongle. Then just step through the program until the LEDs flicker to find the places where the dongle is involved. The first time I did this was a long time ago using MS Codeview on a 286 PC running DOS.The other way to find the dongle routine is to get an old Win98SE PC with softice and break on read or write to the (0378H) LPT port. This is much easier.

author: joeqsmith
author_rank: Super Contributor
timestamp: January 10, 2025, 09:21:06 pm
content: Quote from: djsb on June 30, 2024, 10:57:07 amThe first version of PSpice we had required the 5.25" floppy disc to be inserted. The COPYIIPC and other tools would not break it. The debugger would not allow you to work with a packed EXE (which it was). To add components you had to rebuild the application using MS Fortran. They provided the object files only. So I rebuilt the EXE as unpacked. We had one 286 computer at the time and it would run it. From there, I could use the debugger to trace the code and find where it read the floppy. A couple of op-code changes and all the engineers had their personal copy of PSpice for home.Then came that dongle. I broke out the logic analyzer. It seems it was nothing more than a counter and some logic. The next version of PSpice changed the dongle. It still worked the same but just had a different count value. So I made a dongle with some DIP switches to allow me to set the count code.I think I still have the dongle and my original notes when I first hacked the floppy version...***You can see my PSpice key here:https://www.eevblog.com/forum/vintage-computing/printer-port-hardware-keys/

author: BradC
author_rank: Super Contributor
timestamp: January 11, 2025, 02:01:02 am
content: I know this is late but the HASP dongles were one of the first to enable (optional mind you) encryption. So it often wasn't just a CheckDongle(), but a chunk of code that was decrypted by the dongle or a key supplied by it. It may or may not be as easy as a simple patch.On the other hand, being so old there is a *lot* of info out there on reverse engineering and patching out the HASP dongles. The kicker being if it does use encryption you need the dongle to save/replace the encrypted portion with the results.

author: bte
author_rank: Regular Contributor
timestamp: January 11, 2025, 10:07:03 am
content: Quote from: djsb on January 10, 2025, 05:51:58 pmIf the app is 16-bit, it won't run under Windows 7 64-bit. You need Windows 7 32-bit for that.