Decompiling Objective-C libraries

Cy. picture Cy. · Feb 25, 2010 · Viewed 67.1k times · Source

I've just finished a library in Objective-C that I compiled as a Static Library for distribution.

I'd wanted to know what chances to get this decompiled are out there.

  • Do you know any software that can do this?
  • If so, how could I protect me better?

EDIT: My static lib is made for iPhone / ARM

I created an algorithm that depending on the some parameters of the app, it can run as demo or as full code. You init the object with X variables and unlock the full version. I was wondering if they'll be able to see this algorithm so they can create a key generator.

Answer

Chuck picture Chuck · Feb 25, 2010

If it executes, it can be decompiled. Objective-C is particularly easy to decompile into readable code thanks to its dynamic features. If you want to make things a little bit harder, you could write most of your code in plain C and strip the executable — which of course has the tradeoff of making your application design harder to manage. But be honest with yourself: If somebody wants to crack your code, you are not going to be able to stop them. Crackers have practically unlimited amounts of time and enthusiasm and will actually be excited by any novel efforts you put in to stop them. Nobody has yet made uncrackable software, and the biggest corporations in the world have tried. You're not going to do better than them, especially if you need to ask about it on Stack Overflow.

Take the time that you would have put into thwarting decompilation and use it to make your product better — that will have a much better ROI.