473,378 Members | 1,617 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

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

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
12 2260
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
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
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
"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
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
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
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
"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
"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
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
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

79
by: Klaus Bonadt | last post by:
In order to protect software from being copied without licence, I would like to use something like a key, which fits only to the current system. The serial number of the CPU or the current...
75
by: Massimo | last post by:
I'm planning to develop a .NET application using C#, in order to sell it as a shareware and/or as a full package, so I'll need a good way to protect it against piracy. I know some ways to protect...
0
by: SoftComplete Development | last post by:
SoftComplete Development Updates EXECryptor to v. 2.1.20 Software piracy! Cracked serial numbers! Thousands of commercial products are posted on the warez sites and become available to all who...
71
by: active | last post by:
In the main program I check to see if a certain form has been disposed. Does it make sense in that form's FormClosed event to do: Me.Dispose to make sure it is disposed the next time I check. Or...
2
by: Nilesh wadhwani | last post by:
hello friends , Myself Nilesh wadhwani ,LNMIIT colllege, jaipur .I built an software which stop piracy n i want to update documentation which tells about how it works n what r advantages n...
12
by: =?Utf-8?B?S2plbGw=?= | last post by:
Hello I've taken a four days training in C#, very good training, experienced teacher and all that, very positive. Went home spent a week making my first application, slightly more than the...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.