Hasty Briefsbeta

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.