Article Summary (Model: gpt-5-mini-2025-08-07)
Subject: Defeating a 40‑Year Dongle
The Gist:
Author recovered a DOS/Windows‑98 era RPG II compiler protected by a parallel‑port hardware dongle. Using a disk image, Reko disassembly and emulation the author located a tiny ~0x90‑byte I/O routine that reads the LPT port and always returns a constant BX value; they patched that routine (MOV BX,7606h; RETF), brute‑forced the low byte, and produced patched compiler binaries that generate executables which run without the dongle. The author plans to sanitize and publish the compiler as a historical artifact.
Key Claims/Facts:
- Dongle mechanism: The protection is a self‑contained parallel‑port I/O routine (writes to the LPT data register, reads status) whose final result is placed in BX and is effectively a fixed magic value (76xxh).
- Bypass technique: The author patched the routine’s first four bytes to set BX and return, then brute‑forced the unknown low byte (BL = 0x06) by running the program under DosBox until the program accepted the value.
- Practical consequence: The compiler copies the same routine into compiled programs, so a patched compiler emits dongle‑free executables; the author will clean PII and release the toolchain as a computing‑history artifact.
Discussion Summary (Model: gpt-5-mini-2025-08-07)
Consensus: Cautiously Optimistic — HN applauds the reverse‑engineering and preservation work while noting the protection was weak and the licensing tradeoffs are nuanced.
Top Critiques & Pushback:
Better Alternatives / Prior Art:
Expert Context: