Jump to content
  • Advertisement
Sign in to follow this  
BTownTKD

[.net] Using a USB drive as a "dongle"

This topic is 3443 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey all - I'm working on an "installer application" right now, which needs an extra level of security and copy-protection. We would like to use a USB drive as a hardware dongle, which stores the number of available installations left (and decrements that number each time another installation is performed). We don't want clients to be able to just make a copy of this drive, because then they could take a dongle that should only allow 20 installations, and make a million more. It needs to be locked pretty tightly, so that only our installer app can read it. Obviously, this is a pretty specialized topic, which we don't have a lot of experience in. Does anyone know of any resources we could look at, which might outline some ways to go about this? I posted this in .NET because our installation program is written in C#, and because there didn't seem to be another category which fit this particular question (other than maybe "Hardware Discussion," but that seems like more of a hobby-builder forum...) Thanks for any info you can provide. [Edited by - BTownTKD on April 22, 2009 2:42:55 PM]

Share this post


Link to post
Share on other sites
Advertisement
As with any copy protection, you might want to look towards a 3rd party library. In terms of dongles, Hasp is a big one.

FYI, dongles are broken just as easily as other CP.

Share this post


Link to post
Share on other sites
Do a search on dongles and you will find most of your hits will be all the ways to defeat them. Unfortunately it is not terribly difficult to do. I have written software using dongles before and while they are quite good, they are also pretty easy to defeat and quite expensive. In the end we went to a model where we took a look at all the hardware on the PC and used that to generate a code thus having a way to identify that PC. Once this is done you give unlock codes that use the pc's identity as part of the key.

The process is pretty simple; the user installs the software which requires that it be registered via a website. The software sends the PC's identity, the website calculates the unlock code and sends it back. The software stores this code and uses it to allow it to run.

We wrote the software ourselves and it wasn't terribly hard to do. We didn't use commercial libraries partly because the more popular they are, the more cracks there are out there for them and partly because of some specific requirements that we had. I think it is important to realise that you can never really defeat piracy whatever you do. If you are supplying high volume, low value software then the dongle is definitely a bad way to go. They are quite good for more expensive niche software that usually includes a support contract. The software solution that we used is certainly not fullproof but it is good enough to defeat the casual pirate.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!