Welcome Guest ( Log In | Register )



2 Pages V   1 2 >  
Reply to this topicStart new topic
> Reliable Hardware Serial Number For Software Protection?
tansqrx
post Oct 18 2006, 08:19 PM
Post #1


Super Member
Group Icon

Group: [HOSTED]
Posts: 557
Joined: 25-April 05
Member No.: 4,374
myCENTs:17.04



I am currently developing a program that I would like to protect from unauthorized users (copy protection). The software itself is free but I want my users to register before they can use it. Because the software is free, I can’t really use a third-party solution such as eSellerate because they take payment as a percentage of sales (which is zero).

I have played around with several ideas but the one that keeps sticking is using the hard drive serial number as a basis for protection. I’m not a big fan of this idea because I have been the victim of such schemes in the past. For example, I have a removable hard drive and every time I insert the drive a particular piece of software goes crazy and I have to reenter the activation code. Another problem with this software is I have a hybrid SATA and PATA system. For some reason the software (or maybe Windows) sees the PATA drives as primary when in reality a SATA drive is the boot drive.

Has anyone had experience in a similar situation and have any suggestions? Also does anyone have any example code for reliably retrieving the hard drive serial? I went over to Code Project (http://www.codeproject.com/csharp/hard_disk_serialno.asp) and found a nice article about finding the serial number. The big problem with this code is it sees my Zip drive as the first device and you may understand that this could be a problem. Any help or suggestions are welcome.
Go to the top of the page
 
+Quote Post
yordan
post Oct 20 2006, 09:31 AM
Post #2


Way Out Of Control - You need a life :)
Group Icon

Group: [MODERATOR]
Posts: 2,242
Joined: 16-August 05
Member No.: 7,896
myCENTs:56.55



Has the computer to be on the Internet network in order the software to be used ? Or has it to be able to work even when disconnected from the network ?
Go to the top of the page
 
+Quote Post
zerofool2005
post Oct 20 2006, 04:09 PM
Post #3


Newbie [ Level 1 ]
Group Icon

Group: Members
Posts: 9
Joined: 20-October 06
Member No.: 16,689



What about logging the software into a Sql database. Once that software gets registerd it is logged on OS Processor type and IP address.
Go to the top of the page
 
+Quote Post
yordan
post Oct 20 2006, 04:47 PM
Post #4


Way Out Of Control - You need a life :)
Group Icon

Group: [MODERATOR]
Posts: 2,242
Joined: 16-August 05
Member No.: 7,896
myCENTs:56.55



That's what I was thinking. However, this needs the computer to be on the public network, a standalone machine will not be able to connect to the Sql database.
Go to the top of the page
 
+Quote Post
zerofool2005
post Oct 20 2006, 05:05 PM
Post #5


Newbie [ Level 1 ]
Group Icon

Group: Members
Posts: 9
Joined: 20-October 06
Member No.: 16,689



hmm true. Unless you wrote into the application aswell once it was registered the info and have it encrypted so it couldnt be used on another machience
Go to the top of the page
 
+Quote Post
yordan
post Oct 20 2006, 05:49 PM
Post #6


Way Out Of Control - You need a life :)
Group Icon

Group: [MODERATOR]
Posts: 2,242
Joined: 16-August 05
Member No.: 7,896
myCENTs:56.55



QUOTE(zerofool2005 @ Oct 20 2006, 07:05 PM) *

hmm true. Unless you wrote into the application aswell once it was registered the info and have it encrypted so it couldnt be used on another machience

And, precisely, the very first question was : which info has to be written and encrypted ? This info has to be related to the hardware on which it is installed.
Go to the top of the page
 
+Quote Post
DrK3055A
post Oct 23 2006, 05:45 AM
Post #7


Member [ Level 1 ]
Group Icon

Group: Members
Posts: 46
Joined: 18-October 06
Member No.: 16,664



QUOTE(yordan @ Oct 20 2006, 07:49 PM) *

And, precisely, the very first question was : which info has to be written and encrypted ? This info has to be related to the hardware on which it is installed.


Why don't use CPUID instruction for getting the CPU serial number, stepping, ID string...? I guess there is a way for implementing such instruction in VB, or some activex control or dll..., well there must be a way.
Go to the top of the page
 
+Quote Post
tansqrx
post Oct 23 2006, 07:08 PM
Post #8


Super Member
Group Icon

Group: [HOSTED]
Posts: 557
Joined: 25-April 05
Member No.: 4,374
myCENTs:17.04



Thank you for your great suggestions. The purpose of the application is to query remote Internet resources so in short it will be on the Internet at all times. I don’t think that using the IP address would be much good because the IP can change at any time. I used to have a DSL line that changed everyday. As for the CPU ID, it is also not a hard and fast rule. If you remember a few years ago Intel had a big controversy over enabling the ID on Pentium 4 chips. From that point on I think that Intel has disabled the ID.

I suppose the SQL database would be the best way to go but I have absolutely no experience with SQL and I would rather not go down that path, at least not yet.

Great response so far.
Go to the top of the page
 
+Quote Post
yordan
post Oct 23 2006, 08:41 PM
Post #9


Way Out Of Control - You need a life :)
Group Icon

Group: [MODERATOR]
Posts: 2,242
Joined: 16-August 05
Member No.: 7,896
myCENTs:56.55



You could simply give each guy a serial associated to it's name and mail.
Then, your program can ask your computer if this serial/name/mail correct. if it's in your file, your computer says "OK" (it could simple be "grep password |grep name |grep serial |wc -l").
If your computer says OK, the program is activated. (for instance receiving a necessary myfile.dll.
If your computer says "NO", the fake dll file is not replaced by the correct one, and the program says "please ask a new registration from tansqrx.com
Go to the top of the page
 
+Quote Post
Jimmy89
post Dec 21 2006, 06:47 AM
Post #10


Living at the Datacenter
Group Icon

Group: [HOSTED]
Posts: 708
Joined: 30-June 06
From: Australia
Member No.: 14,219
myCENTs:76.93



you could always try to use a ethernet controller MAC address. i used that for a program once and it worked ok, till someone wants to take out their lan card. but topday most lan cards are part of the motherboard so that isn't as much of an issue - till they take out the motherbaord!
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. Adobe Premiere Pro vs Sony Vegas 5 + DVD Productio(32)
  2. What's The Best 3d Animation Software?(15)
  3. Best Forum Software(27)
  4. Why Can't I Install Software As Root?(7)
  5. Open Source Software(4)
  6. Flash Site Software(14)
  7. Anyone Know Of Any Good Image Editing Software?(24)
  8. Mobile Phone Ringtone Converter(8)
  9. Restore Windows File And Folder Protection(5)
  10. Which Virus-protection Program Is The Best?(18)
  11. How Parental Control Software Works(4)
  12. Using Same Serial # On Multiple Copies Of Windows(18)
  13. Free Shopping Cart Software(2)
  14. Cruzer Flash Drive (usb)(13)
  15. Web-based Ftp Client(10)
  1. Acer Arcade Software(13)
  2. Sandisk Memory Card Write Protection(13)
  3. Best Free Forum Software(12)
  4. Bluetooth Software(5)
  5. Password Protection(5)
  6. Spybot Recommended(4)
  7. Linux Software Installation Help(2)
  8. Great Software For Building Flash Web Sites(1)
  9. Software Kvm(4)
  10. Remote Desktop Software(7)
  11. Blackberry Software(3)
  12. Need A Free Graphic Design Software? Try Paint.net!(13)
  13. System Is Crashed - Hardware Problem(3)


 



- Lo-Fi Version Time is now: 5th December 2008 - 11:27 AM