views:

85

answers:

2

Hi,

I am new to iphone programming. I heard from few people that even if the iphone application is sold for money from itunes, it is possible to hack the application and install on another phone.

How much of this is true ? If true is there a way to programmatically control my application from getting illegally copied to jailbreaked or another iphone ?

+3  A: 

No. It is impossible to guarantee that someone won't hijack your code and copy it. You can make it hard by using various different copy-prevention techniques, but nothing is fool-proof. A determined cracker will simply find whatever pieces of code you run to check things like device id, and remove them.

Marcelo Cantos
Is there anything like obfuscation for obj-c code ? if yes can that make hacking process tuff ??
thndrkiss
The problem with obfuscation is that it defeats the optimiser, and for very little gain. Crackers don't rely on source code or clean structure, they'll just tease apart the state of the process around the time it decides to crash. You have to use tricks like testing for authenticity in several places in your code (and it can't just be a single function that's called from several places). Also you need to separate detection and failure as much as possible, and make the reason for failure as obscure as possible. This is a lot of work, and you have to ask yourself whether the payout is worth it.
Marcelo Cantos
I am just shooting in the dark. Pardon me if it is crazy. Will apple or the itunes server share the UDIDs of all legitimate users who have legally downloaded a particular application from itunes to the one who actually launched it ?
thndrkiss
@thndrkiss, Apple deletes our activity reports after seven days. I estimate that storing every activity report they've ever generated would consume a couple of terabytes, which is twice the size of the external drive sitting on my desk. Apple doesn't give a (please excuse the tormented emotional outburst) fuck about its developer community.
Marcelo Cantos
A: 

That is absolutely true, back in the day before i started developing i used inst*** to get paid apps for free...

DanielsCaleb0