I am using cocoafob for licensing. Unfortunaletly my app is always cracked quickly after each release. Is there a way do make this a little more difficult?
In my personal opinion, it's very unlikely that someone who uses a cracked version of your application will become a paying customer. The argument that equates a cracked/pirated/stolen copy to a sold copy is just wrong.
That said, you can read about reverse engineering Mac OS X/Cocoa applications to learn how it works ("The Mac Hacker's Handbook" by Charles Miller/Dino Dai Zovi is a good book for this topic or if you want an online resource look up Phrack Magazine no 66).
Once you understand how the attacker defeats license protection within your application, you can try to make it a bit harder but you have to understand that there is no way to stop a motivated attacker. It's probably a better idea to just use Apple's Mac store and invest your time in building your application.
Things you may want to consider:
write your license checking code in C or C++. Have it running based on a trigger condition in an event loop (such as UI triggered stuff) -> this makes it harder for the attacker to breakpoint on your license checking code
don't name your license checking code in obvious ways
make sure symbols are stripped (this doesn't work in ObjC because of the runtime hence the requirement for obfuscated license checking method names)
try not to group together license reading code with license interpreting code (so that the attacker watching fopened file descriptors will have to dig for the interpreting code somewhere else).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With