News for hackers. Stuff that matters.
Re:I Can Crack Your App With Just A Shell (And How To Stop Me) by morganpyne on Monday January 17, 2011 @05:06PM (#2113663)
Another fairly easy way to do this kind of thing is to use the DYLD_INSERT_LIBRARIES variable. You can reverse engineer the classnames with class-dump, subclass a class and override a suitable function e.g. IsLicenseValid() to just return true; You can then start your program and insert your new subclassed class into it like this:

$ DYLD_INSERT_LIBRARIES=/path/to/your/Subclassedlibrary.dylib arch -i386 /Applications/OriginalApp.app/Contents/MacOS/OriginalApp &

And on a sidenote, I thought it was funny to see him refer to something as 'badly spelt' - I thought that 'rye' remark was a bit 'corny' (rimshot :-)

Re:I Can Crack Your App With Just A Shell (And How To Stop Me) by SeoxyS on Monday January 17, 2011 @05:12PM (#2113690)
I didn't know about that, that's really neat! Will need to do some research into that!

PS: I'm poking fun at myself—since I wrote the original app, including misspelling. Also, I use American english, but I do prefer to use the british form of 'spelt' or 'burnt.'

Re:I Can Crack Your App With Just A Shell (And How To Stop Me) by morganpyne on Monday January 17, 2011 @08:18PM (#2114167)
A quick correction/clarification on the above technique for anybody wondering how this works from my poor explanation.

- I should not have written 'sub-classing'; this technique works by actually extending an existing class (Objective C allows you to extend a class)

- AFAIK this technique only works with Objective-C based apps.