VMware Cloud Community
annalopez
Contributor
Contributor

problem with "software lock" on VMware and can't protect my software

<![endif]><![if gte mso 9]>

<!--

/* Style Definitions */

p.MsoNormal, li.MsoNormal, div.MsoNormal

{mso-style-parent:"";

margin:0cm;

margin-bottom:.0001pt;

text-align:right;

mso-pagination:widow-orphan;

direction:rtl;

unicode-bidi:embed;

font-size:12.0pt;

font-family:"Times New Roman";

mso-fareast-font-family:"Times New Roman";}

@page Section1

div.Section1

-->

I have a software product with "software lock" on it which I've myself develop it. This lock is dependent on hardware charasteristics.I mean this lock takes hardware charasteristics.I want to install it on VMware ESX 4,but i found that when I copy this vmware from first system into second system,then my software still works on second system without need my lock,because I found that when VMware is installed on each system gives the same charasteristics to my lock which had given before on first system and it's very bad news for my product security.How can I solve this problem?which lock must i use for my software product on systems with installed VMware ?

Kind Regards

A.Lopez

0 Kudos
4 Replies
Rumple
Virtuoso
Virtuoso

Because virtualization provides hardware independance, most standard checks for hardware are going to not provide you with the unique signature you require. Most software products (like flexlm for instance) will tie themselves to the MAC address or servername of the Server (since you cannot have duplicate servernames or MAC addresses on the same network. Doesn't mean they can't put the product on a different network, but that falls into deliberate violating the license agreements vs an accidental violation because the software continued to work after cloning)

If you decide to tie to the MAC address then you would need to ensure the clients put a static MAC address on the VM (http://www.vladan.fr/static-mac-address-set-in-vmware/). Citrix ties their licensing to the servername only for their flexlm license model.

I personally always use the network adapter settings inside the VM to override the vmx file with the static MAC since Windows NIC settings will always override whatever is in the vmx file.

0 Kudos
annalopez
Contributor
Contributor

Thanks for your reply.

How can i tie my software to MAC address or servername

of the Server?Is there document or soure code to do this?I need it because I must put lock on my product for installing on vmWare ESX to secure my product.

Best Regards

A.Lopez

0 Kudos
a_p_
Leadership
Leadership

People who are willing to crack software locks will always find a way to do this.

What I would probably do (don't know if this meets your requirements though) is to bind your software to the hostname only.

Most software products will need network access and a hostname needs to be unique in a network.

To ensure proper licensing you could create a license file which includes the hostname as well as the customer's name and address and sign this with a private key. In your software, use the public key to validate the license file. This way you make sure the software only runs on the named system and your customers will most likely not give this license file - with their names included - away. One step further could be to display a splash screen with this information at startup of your application.

The above approach has the advantage that your software can also be used in a vSphere clustered environment with vMotion, Fault Tolerance, HA...

André

0 Kudos
Rumple
Virtuoso
Virtuoso

You've written your own software licensing code..we can't tell you how to tie it to the mac address or hostname.

There are 1000+1 ways to read the mac address of a server...you need to use whatever language you wrote your code in to figure that out, then figure out where and how you are going to read and compare that value,etc

0 Kudos