Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Developer
William-08
Posts: 50
Registered: ‎07-17-2008
My Device: 8310

How to restrict application to a BlackBerry device without server access?

Hi guys,

 

I have goggled internet and this forum for a convenient way to restrict application to a device. But I didn't get much.

So I'd like to create this thread to discuss it. You are welcome to post any idea!

 

I ask this question because I wrote a small tool, it doesn't connect any server. Now I want to sell it. I hope I can find a convenient way to protect my app from illegal copy/installation. As you may know, BlackBerry developers can easily parse .jad file, download .cod files, or even export .cod files from device to desktop, then install it to other devices.

 

So the main target is to prevent app crack from blackberry developers, and the approach is simple, convenient.

 

There are two scenarios:

 

Scenario 1:

- The application does not talk to server.

 

Scenario 2:

- The application may talk to server on first use.

 

Any feedback is welcome and appreciated.

 

William

William

EasyDialer -- Calling card dialer, Google Voice Dialer, Conference Call dialer! Relieve the pain of dialing lengthy numbers...
----------------------------------------
If you love it, please let friends know.
If you hate it, please let me know.

Please use plain text.
Developer
simon_hain
Posts: 16,137
Registered: ‎07-29-2008
My Device: Z10 LE, Z30, Passport

Re: How to restrict application to a BlackBerry device without server access?

in a total offline scenario you can only work with a targeted license, the PIN of the device for example.
if you have mail or sms access you can use a public key method. sign a request that contains a unique attribute of the device with the apps private key, send it to your server and reply with a license encrypted with the public key. symetric cryptography would also work.
if you have a partial online scenario you can check the license directly, similar to the second scenario but using http. if you cache the result the device has only to be online from time to time.
----------------------------------------------------------
feel free to press the like button on the right side to thank the user that helped you.
please mark posts as solved if you found a solution.
@SimonHain on twitter
Please use plain text.
Developer
peter_strange
Posts: 19,604
Registered: ‎07-14-2008
My Device: Not Specified

Re: How to restrict application to a BlackBerry device without server access?

I agree completely with everything that Simon says, just wanted to add a few other, hopefully helpful, thoughts.

 

Possible options for unique identifiers include:

a) PIN - easy to get to, but if the user's device breaks or they upgrade, then they have lost their license

b) Telephone number - I think this is good for consumer devices, but is only available in the later levels of OS

c) email address - be aware that users can have multiple email addresses.  I think the default email is a good identifier for the corporate market, for example you could license all users in one company using a wild card like "*@theydomain.com"

 

I suspect there probably has to a 'license' issued (i.e. some Server communication), so the first issue is how to integrate this with the purchase payment - in other words, only supply licenses to those users who have paid.  This is the step that has caused us the most difficulty.

 

Once you have proof of purchase, then you can be proactive, by sending an email or SMS for example, or reactive by letting the application link to a Server.  However note that if your application listens for SMS/emails or attempts to http connect to the Server, it could pop-up a Permissions Dialog, which is really only required for this license process.

 

Two other things to consider:

a) Are you going to offer a trail period?

b) How are you going to market this application?

Please use plain text.
Developer
William-08
Posts: 50
Registered: ‎07-17-2008
My Device: 8310

Re: How to restrict application to a BlackBerry device without server access?

Thanks Simon and Peter for reply.

 

To answer Perter's questions:

- The license solution is my first choice too.

- I prefer PIN and Phone#.

- Yes, there will be a trail version.

- I plan to sell it on my own website, and popular sellers like Handango, crackberry, RIM app store.

 

However Handango simply refused my application without telling any reason. And no reply to my further requirement. I really doubt their attitude to individual developers.

 

William

 

William

EasyDialer -- Calling card dialer, Google Voice Dialer, Conference Call dialer! Relieve the pain of dialing lengthy numbers...
----------------------------------------
If you love it, please let friends know.
If you hate it, please let me know.

Please use plain text.