This depends on the dongle and the way it was implemented.
Modern smartcard dongles can't be cracked/cloned/emulated, even if you have access to an unlimited number of registered dongles. Your only chance is that some weak code is used to check if the correct dongle is attached, like:
Code:
flag = IsDonglePresent();
if (flag = false) then
{
MessageBox("Dongle not found", "Dear cracker, please BPX on MessageBox");
ExitProgram();
}
Or you might have luck and the program uses an old (cheap) dongle type (10+ years available on the open market) which doesn't support any enhanced security features like todays dongles do.
If the program's author knows what he is doing he might as well store important program parts in the dongle and run them inside the dongle. You will never have access to these parts, even with a registered dongle.
Or he might use simple symetric cryptography to decrypt program parts (like many software-only protectors do today). If you don't have access to a valid dongle it's also impossible to crack.