Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Computing > Computer Security > software protection and licensing question

Reply
Thread Tools

software protection and licensing question

 
 
Howard
Guest
Posts: n/a
 
      01-09-2004
I am currently looking at the various packages that are available for
software protection. I have a particular question that I'd welcome
your feedback on.

Background info:
I work for a company that develops software, and typically releases
software SDKs. Development is in C++ using MS Visual C++. We need to
apply software encryption/protection to achieve:

1) Time-limited versions (e.g software expires after X days)
2) Machine-locking (once activation key entered, software will only
run on the machine it was installed on)
3) Anti-debugging/reverse-engineering protection

We had been using PCGuard, which can cover all these aspects. However,
we have a particular problem due to the fact that our software is
released as an SDK.

3rd party developers using our SDKs access the core functions using a
supplied dll, and it is the dll which needs to be protected. We do not
want them to be able to debug the dll we supply, but we *do* want them
to be able to debug the code that they write!

The encryption/anti-debugging employed by PCGuard means that they are
not able to debug their own code, which is a major problem.

My question is: is it possible (using another package) to apply
protection which covers all 3 aspects above yet still allows 3rd-party
developers who use our SDK to debug their own code?

My feeling is that protection options 1+2 (time limited versions,
machine locking) can be achieved without blocking the debugging of
3rd-party code, but I'm not sure if protection option 3 can also be
included without blocking all debugging.

Any thoughts or info on this greatly appreciated. Comments on the
pros/cons of the various protection packages available also welcome!

(please post replies to newsgroup *not* via email)

many thanks,

Howard Wright
 
Reply With Quote
 
 
 
 
@micro$oft.com
Guest
Posts: n/a
 
      01-09-2004
Howard wrote:
> I am currently looking at the various packages that are available for
> software protection. I have a particular question that I'd welcome
> your feedback on.
>
> Background info:
> I work for a company that develops software, and typically releases
> software SDKs. Development is in C++ using MS Visual C++. We need to
> apply software encryption/protection to achieve:
>
> 1) Time-limited versions (e.g software expires after X days)
> 2) Machine-locking (once activation key entered, software will only
> run on the machine it was installed on)
> 3) Anti-debugging/reverse-engineering protection



This kind of stuff sucks, and many people will refuse to use it.
Fortunately, for every time someone tries to make a method to restrict
and own and regulate everything there is someone who makes a tool to
brake it.

It's not software protection, it's software policing.

 
Reply With Quote
 
 
 
 
William
Guest
Posts: n/a
 
      01-09-2004
"Howard" <do_not_use_this_address_@hotmail.com> wrote in message
news: om...
> Background info:
> I work for a company that develops software, and typically releases
> software SDKs. Development is in C++ using MS Visual C++. We need to
> apply software encryption/protection to achieve:
>
> 1) Time-limited versions (e.g software expires after X days)
> 2) Machine-locking (once activation key entered, software will only
> run on the machine it was installed on)


You might want to look at how Microsoft handles this with their latest
software. They develop a "fingerprint" for the machine based on
various bits of hardware and if that fingerprint changes too quickly,
the software has to be reactivated. Different pieces of hardware
affect the fingerprint to a greater or lesser extent depending on how
likely the change is to imply a different machine rather than a simple
upgrade: motherboards count more than hard drives, for example.

What makes it less painful to the user than it might be is that you
can pretty much upgrade the whole system without triggering the
reactivation if you do it slowly enough.

If you do a google search you'll probably find a lot of details about
it, along with, I'm sure, plenty of hacks to defeat it. -Wm



 
Reply With Quote
 
me@privacy.net
Guest
Posts: n/a
 
      01-10-2004
do_not_use_this_address_@hotmail.com (Howard) seems to think in
news: om:

> I am currently looking at the various packages that are available for
> software protection. I have a particular question that I'd welcome
> your feedback on.
>
> Background info:
> I work for a company that develops software, and typically releases
> software SDKs. Development is in C++ using MS Visual C++. We need to
> apply software encryption/protection to achieve:
>
> 1) Time-limited versions (e.g software expires after X days)
> 2) Machine-locking (once activation key entered, software will only
> run on the machine it was installed on)
> 3) Anti-debugging/reverse-engineering protection
>
> We had been using PCGuard, which can cover all these aspects. However,
> we have a particular problem due to the fact that our software is
> released as an SDK.
>
> 3rd party developers using our SDKs access the core functions using a
> supplied dll, and it is the dll which needs to be protected. We do not
> want them to be able to debug the dll we supply, but we *do* want them
> to be able to debug the code that they write!
>
> The encryption/anti-debugging employed by PCGuard means that they are
> not able to debug their own code, which is a major problem.
>
> My question is: is it possible (using another package) to apply
> protection which covers all 3 aspects above yet still allows 3rd-party
> developers who use our SDK to debug their own code?
>
> My feeling is that protection options 1+2 (time limited versions,
> machine locking) can be achieved without blocking the debugging of
> 3rd-party code, but I'm not sure if protection option 3 can also be
> included without blocking all debugging.
>
> Any thoughts or info on this greatly appreciated. Comments on the
> pros/cons of the various protection packages available also welcome!
>
> (please post replies to newsgroup *not* via email)
>
> many thanks,
>
> Howard Wright



Look into .NET code-level access security. You can control security down
to the module level and with a little ingenuity, you can probably invent
a licensing structure with expiration date. Of course, you have to be
using the .NET model.

 
Reply With Quote
 
Dominic Haigh
Guest
Posts: n/a
 
      01-30-2004
I think your perception may be colored by your experience with PCGuard.
There's no fundamental reason for this restriction.

We offer the EasyLicenser license manager (www.easylicenser.com):

(a) Today, for both C++ and Java: our digital signature mechanism will
prevent tampering and spoofing but won't prevent read-only reverse
engineering. Will work in SDK deployment environments.

(b) Coming up, for Java only: jar encryption will prevent reverse
engineering as well. Will allow applications using the encrypted jars to be
debuggable.

Also, on anti-debugging of C/C++ DLL's: usually, this is achieved by doing a
"production" build which strips the binary of debug symbols. That is,
usually, reverse-engineering of C/C++ binary isn't a concern.

Best of success with your product.


Regards,



Dominic Haigh

Agilis Software

"Howard" <do_not_use_this_address_@hotmail.com> wrote in message
news: om...
> I am currently looking at the various packages that are available for
> software protection. I have a particular question that I'd welcome
> your feedback on.
>
> Background info:
> I work for a company that develops software, and typically releases
> software SDKs. Development is in C++ using MS Visual C++. We need to
> apply software encryption/protection to achieve:
>
> 1) Time-limited versions (e.g software expires after X days)
> 2) Machine-locking (once activation key entered, software will only
> run on the machine it was installed on)
> 3) Anti-debugging/reverse-engineering protection
>
> We had been using PCGuard, which can cover all these aspects. However,
> we have a particular problem due to the fact that our software is
> released as an SDK.
>
> 3rd party developers using our SDKs access the core functions using a
> supplied dll, and it is the dll which needs to be protected. We do not
> want them to be able to debug the dll we supply, but we *do* want them
> to be able to debug the code that they write!
>
> The encryption/anti-debugging employed by PCGuard means that they are
> not able to debug their own code, which is a major problem.
>
> My question is: is it possible (using another package) to apply
> protection which covers all 3 aspects above yet still allows 3rd-party
> developers who use our SDK to debug their own code?
>
> My feeling is that protection options 1+2 (time limited versions,
> machine locking) can be achieved without blocking the debugging of
> 3rd-party code, but I'm not sure if protection option 3 can also be
> included without blocking all debugging.
>
> Any thoughts or info on this greatly appreciated. Comments on the
> pros/cons of the various protection packages available also welcome!
>
> (please post replies to newsgroup *not* via email)
>
> many thanks,
>
> Howard Wright
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
java3d licensing: contact wanted for dev team or licensing spacewar@gmail.com Java 6 09-16-2012 01:40 AM
copy protection / IP protection g Java 69 04-25-2006 04:10 PM
software protection and licensing question Howard C++ 9 01-18-2004 03:55 PM
Cisco VPN Concentrators and software licensing Mark Shickell Cisco 1 10-15-2003 04:30 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57