views:

1065

answers:

6

What is the best way to protect a Cocoa shareware application from software piracy? Are there developer libraries/tools out there for this task?

+9  A: 

Allan Odgaard - using openssl for license keys is one way to do it.

neoneye
I had good luck with that article and a few other ones I found on the same subject. It's not exactly something you can implement in a few hours, but it seems easier and more secure than most other strategies.
Marc Charbonneau
I have implemented this myself for my http://gdtoolbox.com/ program. I think I spend 14 days on getting it working, with UI and registration system and payment system. A ready made system would have saved much time.
neoneye
+2  A: 

Let's see here.

Home-brewed approaches:

Recommended Service Solutions:

This list is by no means comprehensive, but rather just a brief mention of some of the popular choices. Obviously, they can only detour piracy so there is clearly a compromise on how much time should be invested. I'd also suggest googling Wil Shipley's (delicious app) thoughts about why developers shouldn't go to great lengths to prevent piracy.

Rev316
+6  A: 

AquaticPrime is a simple, easy Cocoa licensing framework. It uses securely signed plist's as it’s “license key”, which makes it simple to embed arbitrary information into the license.

With AquaticPrime one would generally distribute the license as a small file, rather than as a text string, which may be an advantage or disadvantage for your application.

The framework includes code to generate licenses in C#, Carbon, Cocoa, PHP, Python, Ruby and STL. It also includes a GUI one-off license generator. My experience with it has been great.

Jon Shea
+1  A: 

I nice solution that I can recommend is the potion store (from potion factory) together with the cocoafob classes (from gleb dolgich). They provide code generation and verification and an actual store for selling your app(s)

both are open source

suraken
+5  A: 

Speaking of Wil Shipley, he has made his in-application payment and registration framework available for licensing under the name of Golden % Braeburn. I believe that Delicious Library and SousChef both use this framework.

Brad Larson
Oh, cool. Great find Brad!
Rev316
A: 

Don't forget to do some reading on Common methods of cracking Cocoa apps. Be wary of method swizzling and Input Managers. You don't have to go out of your way to protect your app -- A cracker will always outdo you -- but don't be naive either!

jbrennan