Link to home
Start Free TrialLog in
Avatar of neilholloway
neilholloway

asked on

Unique PC Identification

This there any identification number which is unique to every PC.  I have a piece of software which I wish to license per machine but needs a unique number which will only work on that machine.  Any ideas anyone ??
Avatar of tmutsambwa
tmutsambwa

If you are using netware or IP/SPX protocol on your network you can try using the MAC Address
A)
>This there any identification number
which is unique to every PC ?

NO...

Only "new" Pc with Pentium III .... You can enable or disable CPU identification number with bios.

Network card have a unique identification number, but generally you can overwrite this number (Mac address).

Harddisk : serial number ... ? (rom).


B) Hardware way
Dongle or key....  //,serial or USB.

C)Many protected programs write informations in Win9X or NT registery or signature on harddisk.
Big problems with this concept:

1) PC hardware does NOT have any reliable unique ID.  Period!  The only exception would be Pentium III based systems which do have a unique CPU ID.  Be aware, however, that programs are already available that permit a user to trap the instruction that provides this ID and have it provide ANY ID.  So it's not really much of a protection.

2) Ethernet cards have a unique MAC address which can be used but on many cards this address is easily changed.  Also, many techniques are available for spoofing this as well.

3) Hard drive serial #.  Also, very easily changed and/or spoofed.

Probably the best (if you can call it that) would be the use of a hardware key or dongle.  Sentinal, WIBU, and others make such things.  They really aren't very secure, however.  All you need to do is browse a few of the "hacked" software web site and see how easy this is.  Further, these dongles are fairly expensive and legitimate customers don't like them.

Which leads me to my real point.  Why are you bothering with this?  If you software is good enough be be pirated, you should feel honored.  But my experience is that it doesn't pay to worry about those who pirate software.  They don't pay for it regardless of what you do.  Worry about those who are ready, willing, and able to pay you for your work.  To quote someone I respect:

"People who buy software don't pirate it.  People who pirate software don't buy it."

       -- jhance
jhance makes a very good point.

In my experience, the best copy protection is a good relationship with your customers.

On the other hand, for many buyers like myself, an elaborate copy protection scheme is a sure sign of low quality software.  It tells me that the supplier (you) is spending resources on the wrong thing.
jhance > Ethernet cards have a unique MAC address which can be used but on many cards this address is easily changed.  Also, many techniques are available for spoofing this as well.

Please tell me how, without changing or reflashing the rom, you would chang the MAC of a NIC.

you did say Ethernet and not ARCNet

MAC address is transfered from ROM to a register (ram). You can overwrite this value.

Network address = mac adress if not overwrite.
Network address = another if you overwrite it.

----->
Change "Network adress"
-> With Win 9X :
Control Panel / Network / Configuration / Choose your network card / Advanced / Network adress

--------------------------------------

Disk serial number :
2 serial number

A "serial number" is generated according to current time at the moment of formatting. You can see this number with dir /p.  

Serial number in the disk firmware. this data are burned into disk internal ROM's...
You can see this number with tools like Ezscsi,Ezmaint or tools given by disk  manufacturers.

To work only on one machine I suppose you could write one of the files to a specific spot on the disk, write the details of that block to the install floppy and check that particular block whenever the setup is re-run. This doesn't stop someone duplicating the disk but it would mean the disk would only work for the PC it is first used on.

But then again, what happens if, for instance, the hard disk dies and a new one has to be used? It's possible to get the BIOS address and use that as a key this way, but then the same problem applies.

I'm not convinced there's any reliable solution which wouldn't inconvenience the customers enough to dissuade them buying it, so I'd say don't bother.

Rule of thumb- use the same level as copy protection as people selling equivalent products- any more and nobody'll purchase it unless your software is much superior.
jhance > this is not on my card, or on any of the cards in my lan. i dont see why, or how a NIC company could do this. the MAC is burnt in to a ROM when the card is made. eave if you could chang this, you could not do it from windows.
To Sash :

With many networks cards, you can change network address ( ~ mac adress):

> the MAC is burnt in to a ROM

OK, no problem ... I agree with you.
-> On your network card, you have a ram ( hardware registers).
-> During card boot,rom is transferred in a ram.
-> when data are in a ram you can m odify value when OS load driver.
For example, with old "odi" layer, it's was a parameter in net.cfg file.

By default ( no overwrite), network "see" mac address.
If you overwrite address, network "see" this new adress.



ok, i see what you are saying, but i think you have got one thing mistaken. a MAC is NOT the same as a network address. a MAC is a hardware address, a network address is a OS level address. i think what you are changing is the Network address, which i agree with you.

anyway, why are we talking about this, it has nothing to do with the question asked....
->"i think you have got one thing mistaken"

I never write mac address = network ( workstation) address

I write :

MAC address is transfered from ROM to a register (ram). You can overwrite this value.

Network address = mac adress if not overwrite.
Network address = another if you overwrite it.

The big corporations use a thing called hasp. This is being connected to the printers port and it provides a unique number. If you don’t have this thing you cant run the program. So if it is so important for you make your self, a thing like that.
ASKER CERTIFIED SOLUTION
Avatar of GP1628
GP1628

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of neilholloway

ASKER

I suppose a no is as good an answer as any !!!!!!
MAC addres i good, but if there is no network card it's can be a problem. IMHO you should use a hard drive volume ID or serial number. Volume ID you can get whit code which you can find in expert-exchange.

ps. sorry for my english