Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

security for application

Posted on 2001-06-21
10
Medium Priority
?
200 Views
Last Modified: 2010-04-02
hello sir,

i know cd protection is a very big & internation problem but everything is possible.

v r working on vb6.

v want a solution for cd protection as well as application security without using a dongal (hardware lock : eprom) or any physical device.

restrictions :
1. cd to cd writing
2. copying cd to hdd

user can install from cd in him/her single pc only.

is any facility in c++ ?

thanx
bhavesh


0
Comment
Question by:Aurokripa
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +3
10 Comments
 
LVL 11

Expert Comment

by:griessh
ID: 6214193
bhavesh

I tried something like that some time ago. I think you will have to come up with your own ideas. Why? If it cannot be in C++, because the language doesn't care about copy protection. It wouldn't be in the libraries that came with your compiler, since then it would be easy for everybody to understand how it works and find a way around it.
So the only option you have is to go out and find a company that sells yoy their copy protection or find your own way to solve that problem.

Sorry

======
Werner
0
 
LVL 32

Expert Comment

by:jhance
ID: 6214886
Auro...,

If there were a simple, inexpensive, and foolproof way of doing this, don't you think EVERYONE would be using it?

As briefly as possible, my opinion is that THIS CANNOT BE DONE simply, inexpensively, in such a way that it is effective against pirates but not inconvenient to paying customers.

I've said it before and I'll say it again:

"Pirates don't buy software.  Paying customers don't pirate.  Spend your resources with the paying customers and ignore the pirates."

0
 
LVL 7

Expert Comment

by:KangaRoo
ID: 6216115
I rather agree with what jhance said, why waste your resources to people who have no intention of paying anyway? They simply won't use your product if they have to pay.

But anyway, a quick survey showed that http://www.cdmediaworld.com/hardware/cdrom/cd_protections.shtml might be interesting.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 11

Expert Comment

by:griessh
ID: 6216147
I just noticed:
>>user can install from cd in him/her single pc only.
That would require a write to the CD to save the 'number of licenses'. Without a CD/RW this wouldn't work at all.

Maybe you should adopt the new Microsoft licensing: use a combination of all types of hardware information and with this info let the user call in to get a key to unlock the software. You will have many unhappy customers ;-)

In 3 words: don't do it!
======
Werner
0
 
LVL 3

Expert Comment

by:cypherljk
ID: 6216883
Like many of the experts have already stated this is very difficult however there are several solutions used by the gaming industry and large companies like Rational and of course the new crap Microsoft is rolling out.

1.) Game Developer magazine has an article on Spyro 'Year of the Dragon' they used numerous checksums to determine if the software had been cracked.

2.) If you get enterprise class software like Rational Clearcase a server application is used to authenticate the client applications liscence where obviously there is strict control over a liscence that may/may not have expiriation dates that you have to periodically dl from the s/w vendor

3.) With XP M$ only allows certain number of installs and it extensively polls the h/w on your machine to generate a key similar to way pgp keys are created.

Obviously these techniques will only last for a certain period of time and are annoying like the M$ one,  Spyro's protection was only design to keep the cracks off the net during the 1st 4 mos the game launched since this is when a games make the most money.  Obviously with a application with a longer lifecycle (like most apps) this needs to be enhanced for longer defensiveness.

My 2 cents...
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 6216953
Ahh, a topic near and dear to my heart...

You need to have the user call in and get an unlock code to enable the software on every installation.  It might be worth the hassle (to you and your customers) if your software sells for more than $500.00 (US) per unit.

Another alternative is to ship the CD with a floppy diskette.  Floppy diskette copy protection is relatively easy to do.  Have the floppy contain just the custom install program (and the bad-track shennaigans that lets you do the copy-protection) and all the cab files are on the CD.

-- Dan
0
 

Expert Comment

by:NickAtBOM
ID: 6217679
The best way I know to do it is like this...

Every computer has a NIC (network interface card) that contains a globally unique identifier.  You can get your code to get the identifier and (combined with other information about the machine eg processor speed, hard disk capacity etc) calculate and display a number (or combination of numbers and letters) to the user.  The user is then required to ring you, the software provider, with this number.  You can use this first number to produce a second number, using a specific algorithm.  The user then types this second number into the program.  The program uses the same algorithm and (knowing the first number) can work out whether the second number is genuine, and thus unlock the software.  Every time the program is run, the second number is checked against the first.  Since the private part of this process is the algorithm, the two numbers can be stored in a public place (eg registry on NT, or a file).

There are several mathmatical processes that would make the second number very hard to calculate if you did not know the algorithm, even if you had several examples of first number / second number combinations.

The disadvantages of this system is that it ties the licence to one computer, so you have to provide a licence migration facility.  Also if you sell a lot of copies of your software, then it is a big operation to provide keys.

Hope this helps...
0
 
LVL 7

Expert Comment

by:KangaRoo
ID: 6219654
Bah,

So if your NIC changes, or you exchange a hard drive, or add some memory, the program won't run anymore. Then the client has to take action to get a new number, pull out all kinds of paper work and probably wait for weeks before some dumb and marginal software company delivers a new key.

While the pirate that happily uses a hacked version has no such problems at all?

Are actually trying to /promote/ piracy here?
0
 
LVL 49

Accepted Solution

by:
DanRollins earned 800 total points
ID: 6219899
If your software is popular enough that some hacker has taken the time to crack your algorithm and post it on the hacker sites,....

...then you are probably driving a Beamer and vacationing in the Bahamas andyway.  No Worries.

-- Dan
0
 

Expert Comment

by:NickAtBOM
ID: 6223638
KangaRoo

Thank you very much for your extremely constructive comments.  I'm sure that we all look forward to hearing your solution to this problem.

In response to some of your points:  yes; every time you change your computer, you need a new key.  If you a business user, changing your desktop configuration tends to happen rarely.  Considering the licence could have cost 10s of thousands of dollars, making one phone call is no big deal.  If your software company can't organise its end with efficiency, it will lose business pretty quickly.

Admittedly, this method won't protect against piracy of the next Half-Life, but for several big business systems it can (and does) work.
0

Featured Post

Enroll in September's Course of the Month

This month’s featured course covers 16 hours of training in installation, management, and deployment of VMware vSphere virtualization environments. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question