By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,786 Members | 1,131 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,786 IT Pros & Developers. It's quick & easy.

How to make sure that Application built is COPY/Piracy Proof

P: n/a
Hi,
I would be installing a desktop application on a standalone PC.
How do I make sure that owner should not be ableto copy that and/or
give it to other folks.
In short, how to build measures to avoid piracy?

User ID/Password is one of the ways. But that can anyway be shared.

Thansk for your inputs.
Regards,
Pioneer.
Oct 31 '08 #1
Share this Question
Share on Google+
12 Replies


P: n/a
hi,

Pioneer wrote:
I would be installing a desktop application on a standalone PC.
How do I make sure that owner should not be ableto copy that and/or
give it to other folks.
This is not possible.
mfG
--stefan <--
Oct 31 '08 #2

P: n/a
On Oct 31, 1:47*pm, Stefan Hoffmann <ste...@ste5an.dewrote:
hi,

Pioneer wrote:
I would be installing a desktop application on a standalone PC.
How do I make sure that owner should not be ableto copy that and/or
give it to other folks.

This is not possible.

mfG
--stefan <--
I was thinking on the lines of

-Generating an IP address for that PC and hardcoding that in the
application as a pre condition to run the code.
-Or may be linking the run of application to existance of any file
which would exist in that machine. This ofcourse would be unknown to
owner.
would it be possible?
Oct 31 '08 #3

P: n/a
hi,

Pioneer wrote:
-Generating an IP address for that PC and hardcoding that in the
application as a pre condition to run the code.
-Or may be linking the run of application to existance of any file
which would exist in that machine. This ofcourse would be unknown to
owner.
would it be possible?
This is possible, but you can still copy your application and distribute
it...
mfG
--stefan <--
Oct 31 '08 #4

P: n/a
"Pioneer" <ad******@gmail.comwrote in message
news:95**********************************@g17g2000 prg.googlegroups.com...
-Generating an IP address for that PC and hardcoding that in the
application as a pre condition to run the code.
What exactly do you mean by "generating" an IP address? PCs either have a
fixed IP address, or they acquire one from a DHCP server. Fixed IP addresses
can be changed through configuration, and an IP address acquired from a DCHP
server might be different every time...
-Or may be linking the run of application to existance of any file
which would exist in that machine. This ofcourse would be unknown to
owner.
And what if the owner accidentally deleted that file? Your app would stop
working... Or what if they got a new PC - that file wouldn't be on it, so
your app wouldn't work...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 31 '08 #5

P: n/a
On Oct 31, 2:52*pm, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
"Pioneer" <adiid...@gmail.comwrote in message

news:95**********************************@g17g2000 prg.googlegroups.com...
-Generating an IP address for that PC and hardcoding that in the
application as a pre condition to run the code.

What exactly do you mean by "generating" an IP address? PCs either have a
fixed IP address, or they acquire one from a DHCP server. Fixed IP addresses
can be changed through configuration, and an IP address acquired from a DCHP
server might be different every time...
-Or may be linking the run of application to existance of any file
which would exist in that machine. This ofcourse would be unknown to
owner.

And what if the owner accidentally deleted that file? Your app would stop
working... Or what if they got a new PC - that file wouldn't be on it, so
your app wouldn't work...

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net
Hmm. Your points are valid. But the customer I am looking at is not
that pro in computers. And I am desparate to avoid piracy of my
application. Anyways, can I get a code snippet for IP check? Or how to
get IP of machine through code?
Oct 31 '08 #6

P: n/a
hi,

Pioneer wrote:
Hmm. Your points are valid. But the customer I am looking at is not
that pro in computers. And I am desparate to avoid piracy of my
application. Anyways, can I get a code snippet for IP check? Or how to
get IP of machine through code?
Take the user SID and use a public-key encryption. Store the signed SID
in the registry.
mfG
--stefan <--
Oct 31 '08 #7

P: n/a
On Fri, 31 Oct 2008 03:10:08 -0700, Pioneer <ad******@gmail.comwrote:
Hmm. Your points are valid. But the customer I am looking at is not
that pro in computers. And I am desparate to avoid piracy of my
application.
There are any number of strategies you can try to use to prevent copying
of your program.

But. As Stefan has already pointed out to you, making an application
"piracy proof" is not possible. If you deliver the code to a customer,
there will _always_ be the theoretical possibility of them copying it.
Whether a specific customer has the technical know-how to do that, is a
separate question. But it's not possible to guarantee that software
delivered to a customer can't be copied.

It's hard for me to imagine someone who is literally "desperate to avoid
piracy" of their software. What makes you so desperate? Do you have a
loved family member being held hostage, and the only way to get them back
is to keep your program from being pirated? Or maybe there's a bus
somewhere that has a bomb on it, and if your software is pirated, the bomb
will be armed and the bus's cruise control locked at 50 mph?

The fact is, if your market is so small that you have a _specific_
customer in mind who you suspect would copy your software, what you've got
is a people problem, not a software problem. That's a market so small
that if someone is using your software in an unauthorized manner, it
should be easy enough for you to know simply because they aren't buying a
license you know they should be buying. And you should deal with a
situation like that by asserting your legal rights, rather than wasting
time on copy protection that may not be effective.

Keep in mind also that copy protection that has the possibility of a
failure mode in which it incorrectly detects the software as being pirated
will generally _lead_ to illegal copying that otherwise would not have
occurred. Customers really don't like it when they pay good money for a
product only to have that product refuse to work, and they start figuring
out that a hacked version without the copy protection (i.e. a pirated
version) is a better deal. Even in a small market where a hacked version
is less likely to be created, it can easily lead to lost sales. And if
you have only one customer, that can be _really_ bad for business.

These are just a handful of the strong arguments against wasting time on
copy protection.

You need to ask yourself: "what is it about my business model that would
lead my customer to pirate my software". Then address _that_. Trying to
lock down the software itself is full of heartbreak and misery, and can
only lead to disappointment.

Pete
Oct 31 '08 #8

P: n/a
"Pioneer" <ad******@gmail.comwrote in message
news:8a**********************************@s1g2000p rg.googlegroups.com...
And I am desparate to avoid piracy of my application.
Then I'm afraid to say that you're not living in the real world. Avoiding
software piracy is impossible...
Anyways, can I get a code snippet for IP check? Or how to
get IP of machine through code?
http://aspnet.4guysfromrolla.com/articles/071807-1.aspx

It's important that you understand that this won't help you at all in
preventing software piracy...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 31 '08 #9

P: n/a
"Pioneer" <ad******@gmail.comwrote in message
news:8a**********************************@s1g2000p rg.googlegroups.com...
Anyways, can I get a code snippet for IP check? Or how to
get IP of machine through code?
http://www.google.co.uk/search?sourc...+local+machine
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 31 '08 #10

P: n/a
On Oct 31, 8:37*am, Pioneer <adiid...@gmail.comwrote:
Hi,
I would be installing a desktop application on a standalone PC.
How do I make sure that owner should not be ableto copy that and/or
give it to other folks.
In short, how to build measures to avoid piracy?

User ID/Password is one of the ways. But that can anyway be shared.

Thansk for your inputs.
Regards,
Pioneer.
As most replies state you can NOT avoid piracy completely...
You can try to incorporate a "connect to web server each time the
program is started" feature, validate the licence on the server, check
if this licence WAS issued by you after payment (i.e. your own DB),
check if the same licence was used on a different machine in
completely different location (IP Geo locator) shortly before...
When you are doing all this checks you should consider that the person
who bought your software is entitled to:
1) uninstall it from one computer and install it on another at any
time
2) upgrade any OR all components in his/her computer at any time
3) move around the world WITH the computer where the software is
installed or take option 1) at any time
4) wipe his/her HDD and dispose of the computer where the software was
installed (with possible consequence of a third party discovering the
HDD and restoring the software)
there are many other things that he/she is entitled to do...
Oct 31 '08 #11

P: n/a
On Oct 31, 4:27*pm, "Peter Duniho" <NpOeStPe...@nnowslpianmk.com>
wrote:
On Fri, 31 Oct 2008 03:10:08 -0700, Pioneer <adiid...@gmail.comwrote:
Hmm. Your points are valid. But the customer I am looking at is not
that pro in computers. And I am desparate to avoid piracy of my
application.

There are any number of strategies you can try to use to prevent copying *
of your program.

But. *As Stefan has already pointed out to you, making an application *
"piracy proof" is not possible. *If you deliver the code to a customer,*
there will _always_ be the theoretical possibility of them copying it. *
Whether a specific customer has the technical know-how to do that, is a *
separate question. *But it's not possible to guarantee that software *
delivered to a customer can't be copied.

It's hard for me to imagine someone who is literally "desperate to avoid *
piracy" of their software. *What makes you so desperate? *Do you havea *
loved family member being held hostage, and the only way to get them back*
is to keep your program from being pirated? *Or maybe there's a bus *
somewhere that has a bomb on it, and if your software is pirated, the bomb *
will be armed and the bus's cruise control locked at 50 mph?

The fact is, if your market is so small that you have a _specific_ *
customer in mind who you suspect would copy your software, what you've got *
is a people problem, not a software problem. *That's a market so small *
that if someone is using your software in an unauthorized manner, it *
should be easy enough for you to know simply because they aren't buying a*
license you know they should be buying. *And you should deal with a *
situation like that by asserting your legal rights, rather than wasting *
time on copy protection that may not be effective.

Keep in mind also that copy protection that has the possibility of a *
failure mode in which it incorrectly detects the software as being pirated *
will generally _lead_ to illegal copying that otherwise would not have *
occurred. *Customers really don't like it when they pay good money for a *
product only to have that product refuse to work, and they start figuring*
out that a hacked version without the copy protection (i.e. a pirated *
version) is a better deal. *Even in a small market where a hacked version *
is less likely to be created, it can easily lead to lost sales. *And if*
you have only one customer, that can be _really_ bad for business.

These are just a handful of the strong arguments against wasting time on *
copy protection.

You need to ask yourself: "what is it about my business model that would *
lead my customer to pirate my software". *Then address _that_. *Trying to *
lock down the software itself is full of heartbreak and misery, and can *
only lead to disappointment.

Pete
Hey Pete, I got the point. But avoid using family hostage kinda stuff
in these professional groups. It doesnt look good.
Nov 1 '08 #12

P: n/a
Pioneer <ad******@gmail.comwrote in
news:8a**********************************@s1g2000p rg.googlegroups.com:
On Oct 31, 2:52*pm, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
>"Pioneer" <adiid...@gmail.comwrote in message

news:95**********************************@g17g200 0prg.googlegroups.com
...
-Generating an IP address for that PC and hardcoding that in the
application as a pre condition to run the code.

What exactly do you mean by "generating" an IP address? PCs either
have a fixed IP address, or they acquire one from a DHCP server.
Fixed IP addres
ses
>can be changed through configuration, and an IP address acquired from
a D
CHP
>server might be different every time...
-Or may be linking the run of application to existance of any file
which would exist in that machine. This ofcourse would be unknown
to owner.

And what if the owner accidentally deleted that file? Your app would
stop working... Or what if they got a new PC - that file wouldn't be
on it, so your app wouldn't work...

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net

Hmm. Your points are valid. But the customer I am looking at is not
that pro in computers. And I am desparate to avoid piracy of my
application. Anyways, can I get a code snippet for IP check? Or how to
get IP of machine through code?
As Mark pointed out, you _really_ don't want to tie it to an IP address.
With DHCP, that _will_ change. A MAC address, on the other, is not as
likely to change. (Until the card is swapped out for a new one...)

Rather than trying to roll your own, I would look into prior work. (Good
copy protection is hard) Google is your friend... But remember, no copy
protection is unbreakable. It's a balance between pissing off your users
and protecting your work. (For instance, after reading about how the
protection on Spore works, I refuse to buy it...)

Dave
Nov 2 '08 #13

This discussion thread is closed

Replies have been disabled for this discussion.