I'm working on hardware license control. I'd like to ask what information
should be got to identify a specific hardware. I've thought of using LAN
card/Network card ID, CPU ID, and USB key. But they seem doesn't work if
the PC do not have internet access, uses CPU which is not Intel, or do not
have USB socket. Can anyone tell how can VB get a unique hardware ID?
> You can use the Drive Serial Number.
> Here is an example:
And here's another...
Didn't we learn our lessons regarding "copy protection" 20 years ago?
Joe Foster <mailto:jlfoster%40znet.com> Space Cooties! <http://www.xenu.net/>
WARNING: I cannot be held responsible for the above They're coming to
because my cats have apparently learned to type. take me away, ha ha!
"Joe "Nuke Me Xemu" Foster" <j...@bftsi0.UUCP> 撰寫於郵件
> According to the article, this number can be altered by user. In this case,
> user can alter this number by himself in order to crack the license control
> algorithm. Is there any other key that cannot be altered by user but still
> unique to hardware?
Didn't Micro$haft recently try this sort of thing with Windows
XP, and didn't they get roundly (and deservedly) bitchslapped?
>According to the article, this number can be altered by user. In this case,
>user can alter this number by himself in order to crack the license control
>algorithm. Is there any other key that cannot be altered by user but still
>unique to hardware?
I would give up the idea of a hardware key. All you will achieve, as
Joe Foster said in his own inimitable way, is to alienate your users.
If you are trying to imitate what MS do with XP then its a non
starter, unless you have the recourses that MS has to enforce and
maintain the necessary database.
Why do you think it has taken MS so long to introduce product
activation via hardware. Its only since the internet became so
ubiquitous that it became commercially viable.
To tie your users to a particular set of hardware, then expect them to
keep it for ever and ever without the opportunity to change it doomed
"Stuart Sutherland" <Nob...@Nowhere.com> ?????
Keys based on hardware are a big no no full stop.
Besides the code required to access hardware information
is a virtual sign saying 'look here if you want to crack this
Take a section of the program out of the program and ship it freely.
User buys licence, encrypt the section of the program with their
name/company/details/whatever and email it to them.
They can save the email to a floppy and wander over to the PC not
connected to the internet.
The install program uses the name/company/details/whatever to decrypt
the section and slip it back into the program.
This is an over-simplification that leaves out specific details in
practice your decryption code will reside in the installer so you will
need a asymetric encryption algorithm and you will need to add
checksums to the license so that an infinate number of monkeys don't
produce the precise code that decrypts to the code required to format
a hard drive.
Your program will still be cracked though
> Does any one
> has other idea for license control?
You might want to look into hardware 'dongles'. However, you should be aware
that many companies have policies against buying any programs that require
this kind of device.
> "abcd" <iren...@ecvision.com> wrote in message
> > Does any one
> > has other idea for license control?
> You might want to look into hardware 'dongles'. However, you should be aware
> that many companies have policies against buying any programs that require
> this kind of device.
And before shelling out for "starter kits", ask over on alt.binaries.cracks,
they should be able to provide you with software to emulate whatever dongle
you want, so you can find whichever "solution" best fits your needs.
for my programs, i use a license key system that creates a hash based
on the MAC address, userid, and computername,
all three together creating, a somewhat unique license. which then sends
info to another program (license maker) which registers that information and
sends back a unique
license key to the users machine.
when the program launches. it gets the system information again, and
verifies it against the hashed key
and if all 3 pieces of the info don't match then, then the license in
this is supported on any machine that resides on any microsoft nt 4.0, or
active directory domain.
since machines names and mac address are usually generally unique on the
network, add in the user id
and that has helped me to control all our software on a per user basis.
it works pretty good for me. but like i said nothing is fool proof
"Joe "Nuke Me Xemu" Foster" <j...@bftsi0.UUCP> wrote in message
> since machines names and mac address are usually generally unique on the
> network, add in the user id
> and that has helped me to control all our software on a per user basis.
Right when gigabit copper NICs are dropping in price? How are your
customers supposed to upgrade their network hardware now? Bastard.
Here's your main problem: PC and PC compatible
computers don't have unique ids.
The hard disk has a serial number; in fact, one for
each volume/partition, placed there when the disk
is formatted, and another placed there by the
The latter is not available via API calls, or in any
machine independent fashion.
Pentium III cpu's have a CPU ID number; no other
Intel processor has a serial number (except a few
limited test runs). It is disabled by default; you
can't access it without changing low-level settings
and rebooting the machine. Future processors from
Intel won't have CPU IDs at all.
Certain other pieces of hardware have identifiable
numbers; network cards, for example, have a MAC
address burned into them. But the user can always
There is no simple solution. It's a very complex
subject, so you have three choices: (1) prepare to
spend several months learning more than you ever
wanted about hundreds of different types of hardware,
(2) chuck the whole mess and buy a packaged software
protection product, or (3) scrap the whole idea and
depend on other methods for protecting your software.
Please direct additional questions to the newsgroup,
rather than email, so others may benefit from the