A dongle is a piece of hardware that must be plugged into a computer's Universal Serial Bus (USB) port before some kinds of software programs will run. This is to ensure that the software isn't copied or otherwise shared. A dongle emulator is a fake dongle created to bypass this limitation, much like a skeleton key. Since dongles are often encrypted to avoid this kind of hack, a dongle emulator is also known as a "dongle crack".
Because the creation of a dongle emulator frees up the software to be used by those who didn't pay for it, it is considered illegal. Many software licenses have clauses stating that creating such a device violates the user agreement. This does not mean that dongle emulators aren't created by hackers and that guides to crack a dongle's security encryption aren't available on the Internet and elsewhere.
Currently, there are two ways one can get a dongle emulator. If a person has skills in bypassing network security, they can make one themselves. Information on how to create a dongle emulator is typically passed from hacker to hacker and traded on Internet forums and websites. Someone without knowledge of coding can also purchase dongle emulators from websites. Because of their illegality, many websites claiming to provide working dongle emulators do not look legitimate.
Because software that makes use of dongles is typically for a small market, the price of a replacement dongle can be hundreds of US Dollars. Some software companies ask that the user buy an entirely new software package if the dongle is lost or stolen, further inflating the price. The defenders of dongle emulators claim that such restrictions on software use are unfair and incompatible with real-world conditions of computer and software use.
Earlier forms of software simply required a dongle to be present in order to run the software on a computer. Hackers broke through such restrictions by writing a program to fool the software into thinking the dongle was already plugged in. To avoid this, some dongles are now designed to hold back certain parts of the software's code or do certain tasks for the program. Even if a dongle emulator tells the software that a dongle is present, the software may still be unworkable because parts of the code are missing. As hackers find ways to bypass these new innovations, new forms of dongle encryption may need to be found.