Defeating a 40-year-old copy protection dongle
3 days ago
- #software-archaeology
- #copy-protection
- #RPG-language
- The author helped an accounting firm move away from legacy software built with RPG, a language older than COBOL, which ran on a Windows 98 PC via a DOS console.
- The software required a parallel port dongle for copy protection, made by a company called Software Security Inc., with clues like 'Stamford, CT' and 'RUNTIME' on the dongle.
- A disk image of the Windows 98 PC revealed an RPG II compiler by Software West Inc., complete source code of the accounting software, and DOS batch files for navigation.
- The RPG compiler itself required the dongle and injected copy-protection logic into generated executables, with the dongle labeled 'RUNTIME'.
- Disassembling the compiler with Reko revealed a small, constant routine for parallel port communication, which was bypassed with a 4-byte patch setting BX to 7606h.
- The patch allowed the compiler and its generated executables to run without the dongle, revealing the copy protection as simplistic and easily defeated.
- The author plans to release the patched RPG II compiler as a historical artifact, as it appears unavailable elsewhere online.