Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

unique number in computer

20 views
Skip to first unread message

goran

unread,
Jan 9, 2003, 1:22:31 AM1/9/03
to
How to gett unique number or keyword on computer?
ex
biosnumber...
processornumber...

All OS included!

Regards

(Correct forum for Microsoft Visual C++ 5.0 and 6.0)


Tony Sakariya

unread,
Jan 9, 2003, 3:35:30 AM1/9/03
to

You can call a RPC function UuidCreate(UUID *Uuid); to get
a Universally Unique Identifiers (UUIDs) for that
computer. Here is the code snippet.

UUID MyUuid; // UUID Object
UuidCreate(&MyUuid); // Call to create the UUID

UUID is a Structure given as follows:
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
typedef GUID UUID;

You can call the function UuidToString() to convert the
UUID to a CString. Please refer the MSDN library for more
info.

>.
>

x49rq

unread,
Jan 9, 2003, 4:39:08 AM1/9/03
to
Thank愀

Do you have complete example to run and test?

Where is unique number located? In bios?

Regards

"Tony Sakariya" <tsak...@yahoo.com> wrote in message
news:1d9a01c2b7ba$117add60$d5f82ecf@TK2MSFTNGXA12...

Joseph M. Newcomer

unread,
Jan 9, 2003, 2:00:29 PM1/9/03
to
Sorry, this won't work for what I think the question is asking. It sounds like what he
wants is some sort of "copy protection" number, which doesn't exist to the best of my
knowledge (never mind that to a first approximation, all forms of application-level
software copy protection are trivially breakable, especially if someone is trying to "roll
their own" instead of buying a commercial package. The commercial packages only slightly
raise the bar for cracking them). A UUID is generated uniquely every time the function is
called, and wouldn't work for a copy protection scheme.
joe

Joseph M. Newcomer [MVP]
email: newc...@flounder.com
Web: http://www3.pgh.net/~newcomer
MVP Tips: http://www3.pgh.net/~newcomer/mvp_tips.htm

Goran

unread,
Jan 9, 2003, 2:40:10 PM1/9/03
to
It is possibly to find HD number, but this is changed every time it is
formatted. Need now "bios" or "processor" number instead.... possibly to
get..?

Regards


"Joseph M. Newcomer" <newc...@flounder.com> wrote in message
news:9hhr1v01ff1i9jbvb...@4ax.com...

S a 6 r y

unread,
Jan 9, 2003, 3:54:22 PM1/9/03
to
u can use cpuid ( assembly instructin ) to get teh processor id ,
processor id working starting from P ||| .

btw i have made my own way in protecting softwares ,

if u are interested in buying the idea of this way , u can contact me at
sa...@hotpop.com

it

Sa6ry"goran" <g...@mail.com> wrote in message
news:Ky8T9.36100$Y2....@news2.bredband.com...

Joseph M. Newcomer

unread,
Jan 9, 2003, 4:50:55 PM1/9/03
to
Go buy a solution. All self-invented solutions for copy protection are usually deeply
flawed and therefore only waste time and effort, and tend to annoy users. And all are
trivially breakable.
joe

Goran

unread,
Jan 9, 2003, 4:58:16 PM1/9/03
to
Hello Joseph!
My solution is better than Microsofts and I was 5 year earlier than them...

Why pay money for a very small scale of selling- and by the way- isn´t it
because its fun we all are programming...

When not- I will finish.

The result of this diskussion shows that this is a very simple problem while
using assembler.

Regards


"Joseph M. Newcomer" <newc...@flounder.com> wrote in message

news:lkrr1vk4urdecq4mh...@4ax.com...

st...@tropheus.demon.co.uk

unread,
Jan 9, 2003, 7:22:37 PM1/9/03
to
On Thu, 09 Jan 2003 16:50:55 -0500, Joseph M. Newcomer
<newc...@flounder.com> wrote:

>Go buy a solution. All self-invented solutions for copy protection are usually deeply
>flawed and therefore only waste time and effort, and tend to annoy users. And all are
>trivially breakable.
> joe
>

The trouble with buying a solution is that if it is cracked all the
software using it is cracked with it. They are also seen as a
challenge by hundreds of crackers. OTOH self-invented solutions only
apply to one application and are usually sufficiently secure to put
off most potential copiers.


Steve
--
EasyNN-plus. The easy way to build neural networks.
Build networks from numeric, text and image files.
http://www.easynn.com

Joseph M. Newcomer

unread,
Jan 9, 2003, 11:06:09 PM1/9/03
to
Oh? Have you hung out in the cracker sites? I had a client who thought he had an
unbreakable software solution, and a few weeks of browsing those sites proved conclusively
that it was trivially breakable.

How does using assembler make it "simpler"? Or more importantly, "unbreakable"? Or even
"breakable, but only with great difficulty"? Over the last decade I've seen a lot of
programmers who thought they had the ultimate copy protection scheme, only to see it
broken within days of release. There's one guy in one of the cracker groups who claims to
be able to break any copy-protection scheme in less than 48 hours, and he posts his
solutions (I wonder how he manages this in the light of the Digital Millenium Copyright
And Abrogation Of First Amendment Rights Act)
joe

Joseph M. Newcomer

unread,
Jan 9, 2003, 11:06:58 PM1/9/03
to
Hang out in the cracker groups. It is hard to believe anything is uncrackable.
joe

On Fri, 10 Jan 2003 00:22:37 +0000, st...@tropheus.demon.co.uk wrote:

>On Thu, 09 Jan 2003 16:50:55 -0500, Joseph M. Newcomer
><newc...@flounder.com> wrote:
>
>>Go buy a solution. All self-invented solutions for copy protection are usually deeply
>>flawed and therefore only waste time and effort, and tend to annoy users. And all are
>>trivially breakable.
>> joe
>>
>The trouble with buying a solution is that if it is cracked all the
>software using it is cracked with it. They are also seen as a
>challenge by hundreds of crackers. OTOH self-invented solutions only
>apply to one application and are usually sufficiently secure to put
>off most potential copiers.
>
>
>Steve

Joseph M. Newcomer [MVP]

Goran

unread,
Jan 10, 2003, 1:01:00 AM1/10/03
to
Hello Joe!
I惴 temted to send this guy my program, and let him try,
May bee I惴 far before the rest of the world...?
I don愒 know- nobody hav so far tryed to brak my solution.
My program is to cheap and out of interrest for this matter.

The fun is to program- see your solution work. Not to make money.

Anyone who want to use my serial protection , can contact me, by email.
I愒 will be even better after I got assembler written code
(anyone who 惡an help me and deliver this code string?
It should deliver unique processornumber or som unique ID.

Use your brain and help me instead! ( don愒 give up!)
Regards

Goran


"Joseph M. Newcomer" <newc...@flounder.com> wrote in message

news:2dhs1v05vivuk7pom...@4ax.com...


> Oh? Have you hung out in the cracker sites? I had a client who thought he
had an
> unbreakable software solution, and a few weeks of browsing those sites
proved conclusively
> that it was trivially breakable.
>
> How does using assembler make it "simpler"? Or more importantly,
"unbreakable"? Or even
> "breakable, but only with great difficulty"? Over the last decade I've
seen a lot of
> programmers who thought they had the ultimate copy protection scheme, only
to see it
> broken within days of release. There's one guy in one of the cracker
groups who claims to
> be able to break any copy-protection scheme in less than 48 hours, and he
posts his
> solutions (I wonder how he manages this in the light of the Digital
Millenium Copyright
> And Abrogation Of First Amendment Rights Act)
> joe
>
> On Thu, 9 Jan 2003 22:58:16 +0100, "Goran" <g...@swipnet.se> wrote:
>
> >Hello Joseph!
> >My solution is better than Microsofts and I was 5 year earlier than
them...
> >

> >Why pay money for a very small scale of selling- and by the way- isn愒 it

S a 6 r y

unread,
Jan 10, 2003, 4:12:51 AM1/10/03
to
i belive i managed to make un-crackable code !!
i was a cracker in part of mylife btw.

it will be great if u give me the e-mail of this cracker.

lol , btw it will be very cool if he managed to break RSA !! as i used it to
protect my software .

Sa6ry


"Joseph M. Newcomer" <newc...@flounder.com> wrote in message

news:2dhs1v05vivuk7pom...@4ax.com...

Joseph M. Newcomer

unread,
Jan 10, 2003, 1:33:07 PM1/10/03
to
What good does assembly code do? And what could you do in it that you can't do with an
_asm insert in C code, assuming there is some compelling reason assembly code is required?
joe

On Fri, 10 Jan 2003 07:01:00 +0100, "Goran" <55...@bredband.net> wrote:

>Hello Joe!
>I´m temted to send this guy my program, and let him try,
>May bee I´m far before the rest of the world...?
>I don´t know- nobody hav so far tryed to brak my solution.


>My program is to cheap and out of interrest for this matter.
>
>The fun is to program- see your solution work. Not to make money.
>
>Anyone who want to use my serial protection , can contact me, by email.

> I´t will be even better after I got assembler written code
>(anyone who ´can help me and deliver this code string?


>It should deliver unique processornumber or som unique ID.
>

>Use your brain and help me instead! ( don´t give up!)

>> >Why pay money for a very small scale of selling- and by the way- isn´t it

goran

unread,
Jan 10, 2003, 2:43:50 PM1/10/03
to
What about this...?

Example:

DWORD dwSignature = 0;
DWORD dwFeatureEbx = 0;
DWORD dwFeatureEcx = 0 ;
DWORD dwFeatures = 0;

__asm
{
mov eax, 1
CPUID

mov [dwSignature], eax // store CPU signature
mov [dwFeatureEbx], ebx
mov [dwFeatureEcx], ecx
mov [dwFeatures], edx // features
}


I悲ont know yet what it returns...
hope unique number..

Regards
g


"Joseph M. Newcomer" <newc...@flounder.com> wrote in message

news:3e4u1vs1pbodl5at2...@4ax.com...


> What good does assembly code do? And what could you do in it that you
can't do with an
> _asm insert in C code, assuming there is some compelling reason assembly
code is required?
> joe
>
> On Fri, 10 Jan 2003 07:01:00 +0100, "Goran" <55...@bredband.net> wrote:
>
> >Hello Joe!

> >I惴 temted to send this guy my program, and let him try,
> >May bee I惴 far before the rest of the world...?
> >I don愒 know- nobody hav so far tryed to brak my solution.


> >My program is to cheap and out of interrest for this matter.
> >
> >The fun is to program- see your solution work. Not to make money.
> >
> >Anyone who want to use my serial protection , can contact me, by email.

> > I愒 will be even better after I got assembler written code
> >(anyone who 惡an help me and deliver this code string?


> >It should deliver unique processornumber or som unique ID.
> >

> >Use your brain and help me instead! ( don愒 give up!)

> >> >Why pay money for a very small scale of selling- and by the way- isn愒

Joseph M. Newcomer

unread,
Jan 10, 2003, 11:03:01 PM1/10/03
to
So, this is a typical sort of low-level interface that gets written when C meets the
hardware. It does not make C or MFC a problem, since it is clear (from the code below)
that the compiler or MFC is not an issue here at all. However, since you cannot possibly
rely on CPUID as being meaningful, having an _asm insert that delivers it is pretty
pointless anyway.

By the way, this is one of the trivially breakable copy protection mechanisms. Anyone with
a debugger and too much time on his hands (women usually have more sense than to waste
time like this, so the majority of crackers are the stereotyped lone young male, so I
didn't use the politically correct his/her) can not only crack this, but create a trivial
program that guarantees that it remains cracked. I could explain the program in a
paragraph, and probably implement it in a day (the first time; thereafter it would be a
non-issue). Or I could just patch the code to always deliver the CPU ID of my choice. And
I'm not even serious about cracking code.

I once did a similar crack when the vendor of a mission-critical piece of software whose
license time ran out in the middle of our project crisis couldn't deliver the updated
version of the software (the company nearly went out of business over that fiasco). It
took me about an hour to crack the date test, which was harder than cracking a CPUID test.

Besides, CPU ID is a fundamentally stupid solution to the problem. What happens if my
motherboard dies and I replace it (I replace motherboards about every two months, on the
average. Figure ten computers with a replacement every two years, that's 2.4 months per
replacement. I couldn't live in an environment where CPUID mattered for copy protection.
Unless you are trying to do something like Microsoft where there are n points, and m < n
have to match, which is still pretty dangerous from the viewpoint of the user. By the way,
what is the "volume ID" of a 3-disk RAID array...? I'm getting one of my disks replaced
momentarily...)

Furthermore, I have a 13-node network. All that you really want is that I cannot run more
than one copy at a time. Tying it to a particular machine is a stupid way to do
application copy protection. I am perfectly legal if I only run one copy at a time;
machines are fungible and should be treated that way by software. The idea that machines
have a meaningful identity is a throwback to the IBM 360 mainframe mindset. CPUs are just
CPUs. In network distributed computing, the program should be runnable on whatever
computing resource is available.

Oh yes, and what does CPUID mean on a multiprocessor? Does it mean that I only have a 50%,
or 25% chance, of running the application on the "one machine"? (I hate to think of trying
to run software that did something as childish as CPUID for copy protection on the
32-processor x86 Unisys multiprocessor). Computers-as-boxes may have an identity, but I
now have two multiprocessor workstations and two multiprocessor servers (one a 4x server),
and the chance I will buy another uniprocessor as a desktop machine now approaches zero.
When I buy another uniprocessor, it will be another laptop. So CPUID has to encompass all
the known CPUs on the motherboard, 2, 4, 6, 8, 12, 16, or 32 processors (and probably a
few other values in between. I just happen to have seen the previously-mentioned figures
describing commercial product offerings).

Bottom line: either your approach is unreliable in that it will give false negatives, or
crackable and therefore give false positives, and so the copy protection using CPUID is
pointless, incorrect, and inadequate. It either fails to meet your goals, or it
inconveniences the customer. According to The New Hacker's Dictionary, the next sentence
is "considered silly".

Software copy protection: a bad idea whose time is long past. If you care, use a dongle.
Or a license server.
joe

goran

unread,
Jan 10, 2003, 11:43:26 PM1/10/03
to
How to protect from debugging?
HTTP:// adress..................................................

Regards
G

"Joseph M. Newcomer" <newc...@flounder.com> wrote in message

news:9p3v1vkojlbmviq5h...@4ax.com...

> >I´dont know yet what it returns...


> >hope unique number..
> >
> >Regards
> >g
> >"Joseph M. Newcomer" <newc...@flounder.com> wrote in message
> >news:3e4u1vs1pbodl5at2...@4ax.com...
> >> What good does assembly code do? And what could you do in it that you
> >can't do with an
> >> _asm insert in C code, assuming there is some compelling reason
assembly
> >code is required?
> >> joe
> >>
> >> On Fri, 10 Jan 2003 07:01:00 +0100, "Goran" <55...@bredband.net> wrote:
> >>
> >> >Hello Joe!

> >> >I´m temted to send this guy my program, and let him try,
> >> >May bee I´m far before the rest of the world...?
> >> >I don´t know- nobody hav so far tryed to brak my solution.


> >> >My program is to cheap and out of interrest for this matter.
> >> >
> >> >The fun is to program- see your solution work. Not to make money.
> >> >
> >> >Anyone who want to use my serial protection , can contact me, by
email.

> >> > I´t will be even better after I got assembler written code
> >> >(anyone who ´can help me and deliver this code string?


> >> >It should deliver unique processornumber or som unique ID.
> >> >

> >> >Use your brain and help me instead! ( don´t give up!)

isn´t

Joseph M. Newcomer

unread,
Jan 11, 2003, 12:31:37 AM1/11/03
to
128-bit RSA has already been cracked. And the point is that you cannot execute encrypted
code; it must be plaintext to execute. And that's where it is vulnerable. I have a friend
whose PhD disseration was on an architecture for executing encrypted programs (Richard H.
Gumpertz: Error Detection with Memory Tags, CMU Computer Science Department PhD
Dissertation, December 1981), but without capabilities like that, you are and remain
vulnerable. It has been two years since I hung out in the cracker newsgroups, and I did
not really pay attention to the name of the cracker even then...we were only looking to
see the technological approaches to cracking. So you don't have to solve RSA to crack the
code, just crack it after it starts running! As soon as the instructions are in plaintext,
it is all over. I can virtualize almost anything I want to force an intercept of whatever
I want (and again, I'm not even an expert cracker...so much of this stuff is just
blindingly obvious, but not worth the effort to deal with).
joe

goran

unread,
Jan 11, 2003, 3:24:49 AM1/11/03
to
Sa6ry!
Thank愀 for the code; the assembly instruction allready now implemented in
my program.
Question: does CPUID cover from P3 and newer... what about AMD...?

Regards
G


"S a 6 r y" <sa...@hotpop.com> wrote in message
news:#qldKFCuCHA.2540@TK2MSFTNGP10...

Joseph M. Newcomer

unread,
Jan 11, 2003, 1:15:14 PM1/11/03
to
Basically, there is no protection from debugging.
joe
0 new messages