Protected Software Without Dongle | Run Dongle

Date: October 26, 2023 Subject: Software Security / Reverse Engineering Audience: Security Researchers, Software Developers, IT Administrators

This involves creating a software-based “virtual USB device” that mimics the exact responses of the physical dongle. The process requires three steps:

Step 1 – Dump the Dongle’s Memory You need a dump tool specific to the dongle family (e.g., HASP HL, Sentinel SuperPro). Tools include:

Step 2 – Create an Emulator Driver Using the captured dump (a .dmp or .reg file), you install a kernel-mode driver that intercepts all calls to the dongle’s VID/PID (Vendor ID / Product ID) and returns the pre-recorded responses. run dongle protected software without dongle

Popular emulation stacks:

Step 3 – Disable Signature Enforcement (Windows only) Since emulators use unsigned kernel drivers, you must:

Result: The software sees a fake dongle on a virtual USB port. Many legacy programs (pre-2010) work perfectly. Modern dongles with rolling-code encryption (Sentinel LDK, CodeMeter) are nearly impossible to emulate this way. Date: October 26, 2023 Subject: Software Security /

If you bought used software that included a dongle, ensure the previous owner legally transferred the license. Otherwise, the dongle may be considered stolen property.

Emulation techniques involve creating a virtual dongle that mimics the behavior of a physical dongle. Some common emulation techniques include:

Some high-end dongles (e.g., CodeMeter CM-Stick) have a built-in real-time clock to enforce subscription end dates. You can use a ring-0 rootkit to intercept GetSystemTime() calls and feed the dongle a fake date. Tools like RunAsDate (for user-mode) can work, but dongle drivers often query the hardware clock directly. Step 2 – Create an Emulator Driver Using

A more robust method: Virtualize the entire OS. Install the software and dongle driver inside a VM (VirtualBox/VMware). Suspend the VM’s clock at a date when the dongle was valid. Then run the VM without the physical dongle? No – you still need the USB dongle passed through to the VM. This method only helps if the dongle isn’t time-limited. It does not remove the dongle requirement.

This method involves modifying the binary code of the protected application to remove the requirement for the dongle.

  • API Hooking: Protection schemes often rely on specific DLLs or drivers (e.g., dongle.dll). Attackers can write a wrapper DLL that mimics the original library but returns hardcoded "success" values to the application without communicating with the hardware.
  • For sophisticated cryptographic dongles, the software sends a random number (Challenge) and expects a specific encrypted output (Response). If the algorithm is unknown, a "Replay Attack" might be utilized. The attacker records valid sessions between the software and the dongle. Later, the emulator replays these recorded responses to specific challenges. This is effective only if the challenge cycle is static or predictable.