7 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
The author details the process of defeating a 40-year-old copy protection dongle to access legacy RPG software used by an accounting firm. Through disassembly and reverse engineering, they discovered the dongle only returns a constant value, allowing for a simple patch to bypass the protection. The article highlights the quirks of outdated software protection methods and the author's plans to preserve the RPG II compiler.
If you do, here's more
The author recounts their experience dealing with a decades-old software package that a friend's accounting firm still relies on. The software, written in RPG (Report Program Generator), requires a hardware copy-protection dongle to function, which complicates efforts to modernize the firm's operations. The firm is running this software on a Windows 98 machine in 2026, highlighting the extreme legacy of their systems. The dongle, likely produced by Software Security Inc. in the early 1990s, has faded markings, but the author uncovers key details during the investigation.
After creating a disk image of the old PC to run the software in an emulator, the author discovers a compiler for RPG II and the complete source code of the accounting software. The compiler itself requires the dongle, injecting copy-protection logic into any executables it generates. The article details the process of disassembling the compiler's code, revealing that the copy-protection routine communicates with the parallel port. Despite initial confusion, the author locates the relevant instructions in a specific code segment, which leads to an understanding that the outcome of the routine is constant, regardless of the dongle's interaction.
Armed with this knowledge, the author modifies the code to bypass the dongle's requirement. They determine that the routine must return a specific value stored in the BX register. By testing possible values through brute force, the author finds that the correct value is 7606h. This breakthrough allows the patched executable to run without the dongle, marking a significant step toward updating the firm's technology. The process illustrates both the challenges of working with legacy systems and the ingenuity required to overcome them.
Questions about this article
No questions yet.