Hi,
I want to fetch a unique ID for a system so for that I want to get the
following:
1.OS Serial Number
2.CPU Serial Number
or any other way to generate a unique ID for a system?
Please help me..
Thanks
|
|
0
|
|
|
|
Reply
|
Utf
|
3/5/2010 11:56:02 AM |
|
It sounds like Yet Another Attempt To Write A Licensing Program.
Generally, the values you obtain this way are completely useless for nearly any purpose
you can imagine. They are not valid for determining licensing, in particular. And if you
are using them, I can fake you out and give you whatever you want with minimal effort,
that is, I can crack your licensing scheme with a couple hours' work. Unless I download
the code from a cracker site, in which case I can crack your licensing in under five
minutes.
I am not aware that the "OS Serial Number" is even available, and CPUs don't have serial
numbers (there was a brief period in the mid-1990s in which this was true, but it hasn't
been true in about 15 years or so).
Buy a third-party license management program, or look for some of the numerous shareware
and freeware packages available. But if you think you can invent one, you're wrong. You
can't. (I spent many months researching this problem a few years ago. The only really
secure technique involves having a USB dongle that contains an active encryption
challenge-response technique. Anything, and I emphasize, anything, that is pure software
can be cracked. What makes Microsoft licenses hard to crack is the fact that the tests
are widely distributed in the OS, and nobody has the source code. So the cost of a crack
is sufficiently high that it is hard to justify. But any "give me the serial number"
style of license key models is doomed. It will either screw you because it is trivial to
crack, or it will screw your user because it does the wrong thing and turns into a simple
denial-of-legitimate-service mechanism)
joe
On Fri, 5 Mar 2010 03:56:02 -0800, nexolite <nexolite@discussions.microsoft.com> wrote:
>Hi,
>
>I want to fetch a unique ID for a system so for that I want to get the
>following:
>
>1.OS Serial Number
>2.CPU Serial Number
>
>or any other way to generate a unique ID for a system?
>
>Please help me..
>Thanks
Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
|
|
0
|
|
|
|
Reply
|
Joseph
|
3/5/2010 2:07:02 PM
|
|
yes sir you are very correct in saying that it can be cracked easily...
But I don't have many users of my software and is not so famous..
So I want a simple method with which I can detect if the user is using the
same key on many computers.
so using WMI class Win32_BaseBoard I am extracting SerialNumber from it..
do you think this WMI method will work on all the systems and on all the
windows versions (xp/vista/7) ?
and what are the chances of this SerialNumber being unique?
Thanks
"Joseph M. Newcomer" wrote:
> It sounds like Yet Another Attempt To Write A Licensing Program.
>
> Generally, the values you obtain this way are completely useless for nearly any purpose
> you can imagine. They are not valid for determining licensing, in particular. And if you
> are using them, I can fake you out and give you whatever you want with minimal effort,
> that is, I can crack your licensing scheme with a couple hours' work. Unless I download
> the code from a cracker site, in which case I can crack your licensing in under five
> minutes.
>
> I am not aware that the "OS Serial Number" is even available, and CPUs don't have serial
> numbers (there was a brief period in the mid-1990s in which this was true, but it hasn't
> been true in about 15 years or so).
>
> Buy a third-party license management program, or look for some of the numerous shareware
> and freeware packages available. But if you think you can invent one, you're wrong. You
> can't. (I spent many months researching this problem a few years ago. The only really
> secure technique involves having a USB dongle that contains an active encryption
> challenge-response technique. Anything, and I emphasize, anything, that is pure software
> can be cracked. What makes Microsoft licenses hard to crack is the fact that the tests
> are widely distributed in the OS, and nobody has the source code. So the cost of a crack
> is sufficiently high that it is hard to justify. But any "give me the serial number"
> style of license key models is doomed. It will either screw you because it is trivial to
> crack, or it will screw your user because it does the wrong thing and turns into a simple
> denial-of-legitimate-service mechanism)
> joe
> On Fri, 5 Mar 2010 03:56:02 -0800, nexolite <nexolite@discussions.microsoft.com> wrote:
>
> >Hi,
> >
> >I want to fetch a unique ID for a system so for that I want to get the
> >following:
> >
> >1.OS Serial Number
> >2.CPU Serial Number
> >
> >or any other way to generate a unique ID for a system?
> >
> >Please help me..
> >Thanks
> Joseph M. Newcomer [MVP]
> email: newcomer@flounder.com
> Web: http://www.flounder.com
> MVP Tips: http://www.flounder.com/mvp_tips.htm
> .
>
|
|
0
|
|
|
|
Reply
|
Utf
|
3/5/2010 4:39:01 PM
|
|
See below...
On Fri, 5 Mar 2010 08:39:01 -0800, nexolite <nexolite@discussions.microsoft.com> wrote:
>
>yes sir you are very correct in saying that it can be cracked easily...
>
>But I don't have many users of my software and is not so famous..
>So I want a simple method with which I can detect if the user is using the
>same key on many computers.
*****
This still has problems. Replace the motherboard, the software fails. Add a second CPU.
The software fails. What does a "CPU Serial Number" mean when I have four CPU chips (each
with two hyperthread CPU cores inside) in my motherboard? Which one defines "the" serial
number? So if the thread happens to running on CPU1 instead of CPU0, when it checks the
"serial number", it fails. Upgrade the OS, the software fails. You could use the disk
ID, but change the disk and it fails. Run it on a VM, it fails. Change the VM
parameters, it fails.
In fact, if the license is a single-CPU license, why is it that it is coupled to a
*PARTICULAR* CPU? If I run a program on my laptop, it is not running on my desktop; if it
is running on my desktop, I am not using my laptop. So it is running on only one CPU at a
time. My usage of these computers is mutually exclusive.
Licensing is a problem, but none of these methods work terribly well. Given that there
are freeware and shareware versions of reasonable licensing software, I'd start there. The
correct question is: "I need to use some kind of licensing software. Does anyone have a
recommendation as to what packages are the best?"
I know there are people out there who have answered this question in the past, in this
newsgroup, with recommendations at all price points starting at $0 and going up.
The one thing everyone who has tried this, or been victimized by it, will tell you,
uniformly: "Don't try to invent it yourself, you *will* get it wrong, and usually in a way
that prevents legitimate users from using it. If you don't mind seriously annoying paying
customers and manning a 24/7 help desk, feel free, but you will ultimately regret trying
to invent it all over again, badly"
joe
****
>
>so using WMI class Win32_BaseBoard I am extracting SerialNumber from it..
>do you think this WMI method will work on all the systems and on all the
>windows versions (xp/vista/7) ?
>and what are the chances of this SerialNumber being unique?
>
>Thanks
>
>"Joseph M. Newcomer" wrote:
>
>> It sounds like Yet Another Attempt To Write A Licensing Program.
>>
>> Generally, the values you obtain this way are completely useless for nearly any purpose
>> you can imagine. They are not valid for determining licensing, in particular. And if you
>> are using them, I can fake you out and give you whatever you want with minimal effort,
>> that is, I can crack your licensing scheme with a couple hours' work. Unless I download
>> the code from a cracker site, in which case I can crack your licensing in under five
>> minutes.
>>
>> I am not aware that the "OS Serial Number" is even available, and CPUs don't have serial
>> numbers (there was a brief period in the mid-1990s in which this was true, but it hasn't
>> been true in about 15 years or so).
>>
>> Buy a third-party license management program, or look for some of the numerous shareware
>> and freeware packages available. But if you think you can invent one, you're wrong. You
>> can't. (I spent many months researching this problem a few years ago. The only really
>> secure technique involves having a USB dongle that contains an active encryption
>> challenge-response technique. Anything, and I emphasize, anything, that is pure software
>> can be cracked. What makes Microsoft licenses hard to crack is the fact that the tests
>> are widely distributed in the OS, and nobody has the source code. So the cost of a crack
>> is sufficiently high that it is hard to justify. But any "give me the serial number"
>> style of license key models is doomed. It will either screw you because it is trivial to
>> crack, or it will screw your user because it does the wrong thing and turns into a simple
>> denial-of-legitimate-service mechanism)
>> joe
>> On Fri, 5 Mar 2010 03:56:02 -0800, nexolite <nexolite@discussions.microsoft.com> wrote:
>>
>> >Hi,
>> >
>> >I want to fetch a unique ID for a system so for that I want to get the
>> >following:
>> >
>> >1.OS Serial Number
>> >2.CPU Serial Number
>> >
>> >or any other way to generate a unique ID for a system?
>> >
>> >Please help me..
>> >Thanks
>> Joseph M. Newcomer [MVP]
>> email: newcomer@flounder.com
>> Web: http://www.flounder.com
>> MVP Tips: http://www.flounder.com/mvp_tips.htm
>> .
>>
Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
|
|
0
|
|
|
|
Reply
|
Joseph
|
3/5/2010 8:14:41 PM
|
|
Take a look at CryptoLicensing for MFC
(http://www.ssware.com/cryptolicensing/cryptolicensing_mfc.htm) which uses
computer name for identifying machines.
See below:
CryptoLicensing uses a simple yet relatively foolproof way to uniquely
identify machines. Each machine is identified by its computer name. Any time
a license needs to be activated, a hash of the computer name is generated and
sent to the license service (instead of the computer name itself - this
protects the user's privacy) .Using the computer name ensures that the
activation and machine-locking scheme is free of common problems plaguing
such schemes caused by changing hardware profiles. Even if the user's
hardware profile changes- maybe the LAN card or hard disk changed - the
computer name will most likely remain the same and will not disrupt
validation of machine-locked licenses.
Using computer names also offers a high amount of security because users are
unwilling or often unable (in a corporate environment) to change their
computer name just for the sake of being able to use pirated copy of your
software.
Using the computer name as the machine code offers an excellent balance
between security and resistance to machine changes (and the resultant hassle
for your customers to request a new license key which will work on the new
machine configuration). First, your users have to somehow find that you use
the computer name as the machine code. Even then, many users are unable to
change machine code - maybe because they are novice computer users or because
their setup (for example, in a corporate environment) does not allow them to
change computer
name. Note that since its not possible for a single network to have two
computers with the same name, it is not possible to use a single license on
multiple machines in a corporate network. In case of a home user, to use the
same license key on another machine, he would have to choose a machine over a
different network. Many users will not find it worth the hassle to change
computer names and networks just to be able to use a pirated copy.
Another important aspect is that as you go on increasing the level of detail
in the machine code, it becomes more and more likely that machine code
validation will fail because even a small change in the machine properties
will change its machine code. You risk angering legitimate paying customers
if all of a sudden after some machine upgrading, they find that their license
is not longer working. Also consider the time required for you for
administration and issuing of the new machine-locked licenses for these
customers.
|
|
0
|
|
|
|
Reply
|
Utf
|
3/6/2010 11:05:01 AM
|
|
|
4 Replies
174 Views
(page loaded in 0.112 seconds)
Similiar Articles: unique number for a system - microsoft.public.vc.mfcHi, I want to fetch a unique ID for a system so for that I want to get the following: 1.OS Serial Number 2.CPU Serial Number or any other ... Generating unique random number - microsoft.public.mac.office ...Version: 2008 Operating System: Mac OS X 10.6 (Snow Leopard) Processor: Intel I need to select 5 items from a list of 50. When I use RANDBETWEEN(... Create new unique invoice number - microsoft.public.access ...How to assign unique number to column duplicates? - microsoft ... Create new ... Just need some advice on a system of invoice numbers. I started a small business and I need ... Counting the number of unique different values in a set ...Version: 2008 Operating System: Mac OS X 10.6 (Snow Leopard) Processor: Intel Hi everyone, I need to count the number of different values in rows... How to count duplicates... - microsoft.public.mac.office.excel ...Version: 2008 Operating System: Mac OS X 10.6 (Snow Leopard) Processor: Intel ... entries, count the number or each occurrence of each item, or count the number of unique ... Creating ID with numbers and text - microsoft.public.access ...VBA code to capture Computer device unique ID number - microsoft ... Creating ID with ... Chikka is an SMS ... system generated Chikka ID that serves as your "mobile ... Help with counting distinct records! - microsoft.public.access ...My question is how to do a query where I can identify the > unique number of guests we provided a certain service to, filtered by > date, if I have GuestID, ServiceDate ... VBA code to capture Computer device unique ID number - microsoft ...I am seeking knowledge of how to write a VBA code in access 2003 that allows me to call a property function by which I can capture a unique number wh... count unique values with auto-filter on - microsoft.public.excel ...Hello, I'm trying to count unique numbers in a resulting list after filtering. I have already learned how to count unique number in an unfiltered... How to assign unique number to column duplicates? - microsoft ...Hi All, I need to assign a unique number to a set of duplicates all in one column in Excel 2007. so columnA will has about 9000 numbers, some o... Introducing the Shared Unique Number System!Introducing the Shared Unique Number System! Take the guesswork out of college transfer in Arizona-- Shared Unique Number (SUN) courses transfer with direct ... NMLS Unique Identifier - IIS7The NMLS Unique Identifier is the number permanently assigned by the Nationwide Mortgage Licensing System & Registry (NMLS) for each company, branch, and individual ... Random Numbers: Generating Unique Random NumbersIt needs to pick unique numbers from a range of 1 to 40. First put the numbers ... for(int i = 0; i < 40; i++) { numbers.add(i+1); } System.out.println(numbers); } Numeral system - Wikipedia, the free encyclopediaUnlike a regular based numeral system, there are numbers like 9b where 9 and b each represents 35; yet the representation is unique because ac and aca are not allowed ... Step 5 : Select a system for assigning a unique identifier to each ...Some organizations also include the Social Security Number in the locator system, even if it is not to be used as the unique identifier. Having the SSN helps to ensure ... 7/24/2012 6:39:40 AM
|