Registration for Cocoa shareware

2019-01-30 07:18发布

问题:

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

回答1:

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



回答2:

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.



回答3:

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.



回答4:

Let's see here.

Home-brewed approaches:

  • Common Counter-Measures
  • Serializing

Recommended Service Solutions:

  • Aquaticmac
  • eSellerate - Also handles transaction processing

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.



回答5:

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



回答6:

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!