Wilfried Mestdagh wrote:
> Subiect: copy protection
> 
> Hello,
> 
> I have a few delphi (5 and 7) applications protected by USB dongle.
Now
> customar will run these applications on virtual machines making USB
> impossible. He ask to protect with other things like machine serial
> number or so.
> 
> but I have 2 questions:
> 
> what is serial number on a virtual machine. If you have 2 virtual
> machines on same hardware is this detectable ?

There's almost nothing you can securely use on a Virtual Machine
out-of-the-box as a base for a "key". One can simply activate your
product on one virtual machine and then simply copy that to obtain a
100% accurate clone. That means: same HDD, same Network Cards, same OS
(yep, Microsoft has a problem too). You don't even need to have the same
hardware on the host system, the hardware visible to an application
running inside the virtual machine is almost the same!

The only thing that's NOT virtualized is the CPU. But AFAIK there's no
way to get any uniquely identifiable code from the CPU (there used to be
a way to get an serial number out of an Intel Pentium but that has been
removed for privacy raisons). You can get the make and speed of the CPU
but if the client wants to trick you they can simply set up a new
computer with the same CPU model. They don't need the same MB, they
don't need the same HDD's or NIC's or video cards. They only need the
same cpu...

BUT if you already have a system to protect your application using USB
dongles, you can do one of the following:

(1) Do nothing. Have them run your application on a Virtual Machine that
supports USB dongles (VmWare supported them starting with version 5, not
6 - version 6 added USB 2.0 support). If they're using Virtual PC have
them move over to the free VmWare player - they'd be better off anyway!
(2) Talk to your dongle provider and ask for options to protect your
application over a network. Have your client set up the dongle on the
"host" system. Have the client pay the premium for using your product on
a system that has no USB support. 
(3) If you're willing to take things into your own hands you can write
something that runs on the host system (where they probably have USB
support) and write something that talks to the dongle and communicates
with your application over TCP/IP. And then hope the user is not using
XEN on a UNIX host. 

--
Cosmin Prund
__________________________________________________
Delphi-Talk mailing list -> [email protected]
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi-talk

Reply via email to