How to implement a copy protection?

  • Thread starter Thread starter flik
  • Start date Start date
F

flik

Hey,

I think about a way to implement a copy protection for my app.

The user is only allowed to install the app on 10 different devices....

I already read that the deviceID (-> GetDeviceID) is not really unique
because two devices of one manufacturer might have the same ID...

So is there any possibility to implement a "good" copy protection to
prevent the user from installing the app on 20 devices instead of 10 ?!

I use CF2.0 with VB2005 and Windows Mobile 5 devices...

Thanks in advance!

Flik
 
Hi flik,

1. Generate 10 sets of unique ID(GUID) and have them burn into some ROM
or CMOS like device on your platform.
[note]How to generate an GUID?
(1)The easiest way to have an unique ID is to use the handy MAC
Address of the network adapter if there is one. (your could get the MAC
address by some API., if you want to know, i could show you)
(2)The GUID could also be generated by the GUID class in .NET CF by
using a string or some data bytes.......
2. In your APP, before installing, check the GUID in your APP with that
in the ROM, to see if it's one of the 10 GUIDs......if yes....then user will
be allowed to install......

[Note] One thing to note...one could easily reverse the APP written in .NET
(compact) framework from it's binary back to the original source code...so if
your write the whole protection scheme based on .NET CF without the
protection of .NET CF itself........it's still useless for people intend to
break your protection......

We do the .NET protection in the following way, for your reference...
We wrap our .NET app into another app written in C++....i.e have .NET APP
stack on another C++ program....once your exe the C++ program,...it will load
the .NET app into some random memory space to exe....so people cannot easy to
break / know the exact implementation mechanism of our APP......

I hope this is helpful for you..

Best Regards,
 
Back
Top