Many years ago I was in the e-book business and the usual problem that I went through during that time was copyright. Being in ebusiness is not easy because I had to deal with strict checkings to prevent against credit card chargebacks or fraud and also piracy. The most I can do to prevent credit card fraud is to make sure their IP address matches the country of the credit card and also they are not using a proxy.

As for piracy, I found one of the best PDF encryption from FileOpen and I was able to restrict the buyer to only open the PDF from a particular computer. The encryption is very good and so far uncrackable but there is weakness in the system. I found out that it identifies the computer by using the hard disk Volume Serial Number. A hard disk volume serial number randomly generates every time you format the hard drive, hence the chances of getting the exact same one very low. So whenever my customer reformat his hard drive to reinstall Windows, or changed a new hard drive, I’ll have to generate a new key for them.
If you do a simple search in Google, you’ll find tons of information to change your hard disk volume serial number, BUT not the real hard disk serial number that is hardcoded to the hardware. Some people said that it is impossible to change it but I will show you how easy it is to change BOTH volume and hardcoded serial number for hard disk.
To find your current hard disk volume serial number, open command prompt and type dir. The second line shows your volume serial number for that partition.

There is a free tool called Hard Disk Serial Number Changer which I think is misleading because it can ONLY change the volume ID but not the hardcoded serial number.
One of my all time favorite tool to change a hard disk volume serial number is VolumeID by Windows Sysinternals. It is a very small command line tool which is very straight forward. The command line to change a drive letter is as follow:
volumeid [driveletter:] xxxx-xxxx
You should shut down all your running applications before using this tool and if you’re changing a volume ID on a NTFS partition, a restart will be required for the changes to take effect. If you’re not familiar with command line, then go ahead and try Hard Disk Serial Number Changer which has a graphical user interface.
Now for the fun part, changing a hardcoded serial number in hard disk. It’s not easy finding a tool to do that but it actually exist. Some multiplayer games that implements punkbuster gets cheaters off the server using hardware bans. It used to ban the hard disk serial number but no longer does that since there are ways to spoof and change the so-called hardcoded serial number. So now they’ve started to ban the CD-Key.
There is a tool called PB DownForce which is able to temporarily spoof your hardcoded serial number in hard disk to a random or even your predefined serials.

The animation image below shows before and after using PB DownForce to change my hard disk serial number.

Do take note that the change is temporary and will reset back to original after restarting your computer. Some antivirus will flag PB DownForce as a threat and this is normal since it hooks low-level (ring0) Windows functions, so that the end result (in ring3) is different.