Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Mockup & CodeGen, iPhone & iPad
($9.99)

Make your own iPhone apps
and run them live!
(free)

Manu
($0.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum > Business Forums > Business, Legal, & App Store

Reply
 
LinkBack Thread Tools Display Modes
Old 03-03-2009, 01:13 PM   #101 (permalink)
Registered Member
 
RickMaddy's Avatar
 
Join Date: Oct 2008
Location: Denver, CO
Posts: 2,122
Default

FYI - When I put out the latest update to Palettes recently I updated my crack checking code to simply launch Safari sending the user to a special page on my website pointing out the benefits of trying my Lite version instead of stealing my paid version.

I just checked my web logs and sure enough I have a few hits to the page. The page has no links to it except from the app.

I perform three separate checks to determine if my app is hacked so if one is worked around the others will still work. The three different tests are well documented on the web.

This tells me something interesting that came up earlier in this thread. Someone cracked my app and posted it for others without testing it first. Idiots they are. My app doesn't show a single screen. Immediately upon launch it exits by launching Safari.

Now I can't know whether a good hacker eliminated these checks and put out a cracked copy that works fine. But I do know that some hacker(s) didn't use their tiny little brain at all and put out a version that can't be used.
RickMaddy is offline   Reply With Quote
Old 03-03-2009, 03:08 PM   #102 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 43
Default

Quote:
Originally Posted by RickMaddy View Post
FYI - When I put out the latest update to Palettes recently I updated my crack checking code to simply launch Safari sending the user to a special page on my website pointing out the benefits of trying my Lite version instead of stealing my paid version.

I just checked my web logs and sure enough I have a few hits to the page. The page has no links to it except from the app.

I perform three separate checks to determine if my app is hacked so if one is worked around the others will still work. The three different tests are well documented on the web.

This tells me something interesting that came up earlier in this thread. Someone cracked my app and posted it for others without testing it first. Idiots they are. My app doesn't show a single screen. Immediately upon launch it exits by launching Safari.

Now I can't know whether a good hacker eliminated these checks and put out a cracked copy that works fine. But I do know that some hacker(s) didn't use their tiny little brain at all and put out a version that can't be used.

BTW, how do you determine if a file is binary or not...I wasnt able to find any API on that one.

Thanks!

I also garble my signerIdentity string check.....If would be nothing for a hacker to place in a check for the string, (I wont post what he could do with it afterward...dont want to give them any clue.).

I'm wondering if it would be ok to overwrite your application file with 0's if you detect that its a cracked version.
__________________
www.seashellgames.com
Scott Stahurski is offline   Reply With Quote
Old 03-03-2009, 03:52 PM   #103 (permalink)
Registered Member
 
RickMaddy's Avatar
 
Join Date: Oct 2008
Location: Denver, CO
Posts: 2,122
Default

Checking if the Info.plist file is text or binary is easy enough. If it's text, you will find the usual "<?xml" at the beginning. If it's binary you won't.

Do a Simulator debug build and a device debug build of your app. Now look at the Info.plist file in each corresponding build directory. It will be obvious. The Sim has a text Info.plist and the device has a binary Info.plist.
RickMaddy is offline   Reply With Quote
Old 03-03-2009, 04:02 PM   #104 (permalink)
Pro. Game Developer
iPhone Dev SDK Supporter
 
Join Date: Feb 2009
Location: ¿La Islas Hermosas?
Posts: 2,178
Default

I could be wrong, but my understanding of the current state of affairs WRT iPhone application cracking is that the hackers are taking the easy and obvious route of short-circuiting the code signing authentication with the info.plist modification, and thus haven't the need to examine binaries -- yet. And, until the hackers realize that their current approach is ineffective, there may never come a time when they're peeking into our binaries.

If we can assume that more and more developers will start implementing an info.plist check as a counter, the hackers will find that their efforts to crack our applications are failing. Do we know that the hackers have no choice but to start peeking the binaries? Should we developers be thinking one step ahead of the hackers and now be implementing countermeasures against this?

I'm actually quite curious about this. Perhaps this can be opened up as a new topic of discussion.
Kalimba is offline   Reply With Quote
Old 03-03-2009, 05:27 PM   #105 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 43
Default

Quote:
Originally Posted by Kalimba View Post
I could be wrong, but my understanding of the current state of affairs WRT iPhone application cracking is that the hackers are taking the easy and obvious route of short-circuiting the code signing authentication with the info.plist modification, and thus haven't the need to examine binaries -- yet. And, until the hackers realize that their current approach is ineffective, there may never come a time when they're peeking into our binaries.

If we can assume that more and more developers will start implementing an info.plist check as a counter, the hackers will find that their efforts to crack our applications are failing. Do we know that the hackers have no choice but to start peeking the binaries? Should we developers be thinking one step ahead of the hackers and now be implementing countermeasures against this?

I'm actually quite curious about this. Perhaps this can be opened up as a new topic of discussion.
Thus the reason why I didnt use a full @"SignerIdentity"
If they start looking for that string they are going to have a hard time of how I build it and where I use it.
__________________
www.seashellgames.com
Scott Stahurski is offline   Reply With Quote
Old 03-03-2009, 05:37 PM   #106 (permalink)
Pro. Game Developer
iPhone Dev SDK Supporter
 
Join Date: Feb 2009
Location: ¿La Islas Hermosas?
Posts: 2,178
Default

Quote:
Originally Posted by Scott Stahurski View Post
Thus the reason why I didnt use a full @"SignerIdentity"
If they start looking for that string they are going to have a hard time of how I build it and where I use it.
Yeah, that's a good approach, but there are several other issues and techniques that I'm pondering. I think these are worth discussing, but not in a public forum like this.
Kalimba is offline   Reply With Quote
Old 03-09-2009, 01:53 AM   #107 (permalink)
New Member
 
Join Date: Mar 2009
Posts: 5
Default

Many of these students would then go on to use them in their professional lives, purchasing legitimate licenses for business use and introducing the software to others until the programs became ubiquitous.
Hilton is offline   Reply With Quote
Old 03-11-2009, 04:25 AM   #108 (permalink)
Beast Mode
 
Join Date: Dec 2008
Age: 21
Posts: 1,890
Default

if i know the hackers name and username email and all that how can i read the iTunesMetaData.plist to check if it is his cracked app someone is using?

thanks!
__________________
I really do this.
Bertrand21 is offline   Reply With Quote
Old 03-11-2009, 02:24 PM   #109 (permalink)
Registered Member
 
Join Date: Feb 2009
Posts: 13
Default recent post about anti-piracy of Apps:

Fight iPhone application piracy using your own app | iPhone Footprint
creativeusername is offline   Reply With Quote
Old 03-16-2009, 12:49 PM   #110 (permalink)
New Member
 
Join Date: Mar 2009
Location: UK
Age: 38
Posts: 30
Default

Just as a heads up, I'm pretty sure when an app is compiled all the fancy stuff in the code you try to do to hide/obfuscate "SignerIdentity" is tidied up by the compiler and in the compiled version will still be "SignerIdentity".

Certainly that's what I'd expect the compiler to do but I've not looked myself so I'm not 100%, but I'm pretty sure trying the hide that won't help.
Gottaa is offline   Reply With Quote
Old 03-16-2009, 01:16 PM   #111 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 43
Default

Quote:
Originally Posted by Gottaa View Post
Just as a heads up, I'm pretty sure when an app is compiled all the fancy stuff in the code you try to do to hide/obfuscate "SignerIdentity" is tidied up by the compiler and in the compiled version will still be "SignerIdentity".

Certainly that's what I'd expect the compiler to do but I've not looked myself so I'm not 100%, but I'm pretty sure trying the hide that won't help.
not when the construction of the string is created by different methods
__________________
www.seashellgames.com
Scott Stahurski is offline   Reply With Quote
Old 03-16-2009, 02:49 PM   #112 (permalink)
Pro. Game Developer
iPhone Dev SDK Supporter
 
Join Date: Feb 2009
Location: ¿La Islas Hermosas?
Posts: 2,178
Default

Quote:
Originally Posted by Scott Stahurski View Post
not when the construction of the string is created by different methods
Exactly. There are a nearly infinite number of ways to camouflage the creation of the @"SignerIdentity" string. Store it reversed (@"ytitnedIrengiS"), store it character by character and assemble the string with multiple methods, apply a bit manipulation (e.g. XOR with 0xFF) to each character in the string, etc.
Kalimba is offline   Reply With Quote
Old 03-16-2009, 03:26 PM   #113 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 43
Default

Quote:
Originally Posted by Kalimba View Post
Exactly. There are a nearly infinite number of ways to camouflage the creation of the @"SignerIdentity" string. Store it reversed (@"ytitnedIrengiS"), store it character by character and assemble the string with multiple methods, apply a bit manipulation (e.g. XOR with 0xFF) to each character in the string, etc.
Or what you could do, to make it impossible or painful to find out where the checking code is....


#define INIT_STRING @"SignerIdentity"

And then when you create a new string anywhere (should be a lot in your average program), even though its overhead, always assign it your #define.

NSString *aString = INIT_STRING; ///do this for all of your temp strings


Then also use the above method of functional creation of the real string.
I'm sure the average hacker will give up placing the command in your code trying to find the right place to overlook your check for a jail broken app.

mis-information at its best.
__________________
www.seashellgames.com
Scott Stahurski is offline   Reply With Quote
Old 03-17-2009, 07:03 AM   #114 (permalink)
New Member
 
Join Date: Mar 2009
Location: UK
Age: 38
Posts: 30
Default

Quote:
Originally Posted by Scott Stahurski View Post
not when the construction of the string is created by different methods
True, but the only examples I'd seen in this thread build the string within one line of code such as:

Code:
NSString *aString = [NSString stringWithFormat:@"%@%@%@",@"Sig",@"nerI",@"dentit y"];
which would compile to leave a clean string. I'm about ready to release my app so very interested in this stuff and would like to be as sure as I can be that my app won't be cracked (I'm still amazed Apple seemed to have dropped the ball with this, but then who knows what 3.0 will be bringing)
Gottaa is offline   Reply With Quote
Old 03-17-2009, 08:48 AM   #115 (permalink)
Registered Member
 
Join Date: Dec 2008
Location: In Your Pocket
Posts: 48
Smile

My method of choice is to display an alert.. much like "illegal copy detected" then just gobble up all the memory and display a "reporting piracy to apple" with a progress view... so it freezes the phone while "reporting piracy".

of course there is no call to report piracy.. it's just a deterrent.

Guaranteed app uninstall within minutes after they reboot their phone (because it froze)
root is offline   Reply With Quote
Old 03-17-2009, 09:41 AM   #116 (permalink)
FlipConversionDesign
 
Join Date: Aug 2008
Location: Orangeville, Ontario
Posts: 83
Send a message via MSN to flipconversion
Default

Quote:
"Should we developers be thinking one step ahead of the hacker"
XDD

You guys are quite naïve if you believe you're steps ahead of the hackers. For crying out loud - hackers managed to reverse engineer a major corporation's tightly sealed prize phone in a matter of days, with their "tiny little brains." You guys are nucking futs if you think anything you do will stop hackers from getting around your protection.

This is not your responsibility, it's apple's - if apple had done a *good* job at using their crappy DRM on iPhone apps, it wouldn't be an issue. Hackers never managed to crack fairplay on apple music files, I think it's rediculous that apple hasn't even responded to the situation.

But damn you all if you think you're smarter than the hackers, there's probably tons of those same hackers here - who are probably a ton smarter and a ton wiser than the vast majority of us. Just because you're pissed at them for cracking your app - which might make you lose a whole 20 or 30 sales, (that's not even a dinner with your family folks) doesn't mean that you bashing them will help any. And it certainly doesn't mean they're not smart. =P
flipconversion is offline   Reply With Quote
Old 03-17-2009, 09:49 AM   #117 (permalink)
Registered Member
 
Join Date: Dec 2008
Location: In Your Pocket
Posts: 48
Default

Quote:
Originally Posted by flipconversion View Post
XDD

which might make you lose a whole 20 or 30 sales, (that's not even a dinner with your family folks) doesn't mean that you bashing them will help any. And it certainly doesn't mean they're not smart. =P
20 or 30 sales? Um. more than that
root is offline   Reply With Quote
Old 03-17-2009, 10:16 AM   #118 (permalink)
see my iOS apps! :D
 
Join Date: Sep 2008
Location: Europe
Posts: 280
Default

the problem here is not to block the pro, is to block the noob, that uses generic software that cracks any program automatically. The noob drops our programs in such programs and end with a cracked version of it. If everyone does his/her own measures they will have to crack by hand programs one by one... no automatic solution for all. This is the point. Better have a car with alarm than without. I bet your car has alarm... or do you think that it is worthless as the pro will steal it anyway?
LunarMoon is offline   Reply With Quote
Old 03-17-2009, 10:37 AM   #119 (permalink)
New Member
 
Join Date: Mar 2009
Location: UK
Age: 38
Posts: 30
Default

I do fully agree, it is really an apple issue, and there lack of response will come back to bite them. But that doesn't mean nothing should be done by us.

In the same way that I take security steps where I can to protect my property (alarm on car, lock the house when I leave, don't walk around handing out my bank details to total strangers, etc, etc).

As to hackers though being amazingly clever ... certainly not my experience, I'd say 1-2% of hackers are gifted, and the rest copy, fudge, bodge, and sit around in dark rooms thinking they are in the film "Hackers". Don't get me wrong, those 1-2% are hella-gifted (oh I made a new word) but that still doesn't mean they can't be stopped, the clever one's are sensible enough to give up on a bad job and move onto the next, newest, coolest thing
__________________
Twitter

Developer of: Splitz
Gottaa is offline   Reply With Quote
Old 03-17-2009, 11:10 AM   #120 (permalink)
New Member
 
Join Date: May 2008
Posts: 99
Default

Quote:
Originally Posted by LunarMoon View Post
the problem here is not to block the pro, is to block the noob, that uses generic software that cracks any program automatically.
Exactly. I don't see the hackers who "managed to reverse engineer a major corporation's tightly sealed prize phone" setting their sights on my lowly app when I put up some roadblocks. Just not worth the effort.
bgeerdes is offline   Reply With Quote
Old 03-17-2009, 12:10 PM   #121 (permalink)
Pro. Game Developer
iPhone Dev SDK Supporter
 
Join Date: Feb 2009
Location: ¿La Islas Hermosas?
Posts: 2,178
Default

Quote:
Originally Posted by flipconversion View Post
XDD

You guys are quite naïve if you believe you're steps ahead of the hackers. For crying out loud - hackers managed to reverse engineer a major corporation's tightly sealed prize phone in a matter of days, with their "tiny little brains." You guys are nucking futs if you think anything you do will stop hackers from getting around your protection.

This is not your responsibility, it's apple's - if apple had done a *good* job at using their crappy DRM on iPhone apps, it wouldn't be an issue. Hackers never managed to crack fairplay on apple music files, I think it's rediculous that apple hasn't even responded to the situation.

But damn you all if you think you're smarter than the hackers, there's probably tons of those same hackers here - who are probably a ton smarter and a ton wiser than the vast majority of us. Just because you're pissed at them for cracking your app - which might make you lose a whole 20 or 30 sales, (that's not even a dinner with your family folks) doesn't mean that you bashing them will help any. And it certainly doesn't mean they're not smart. =P
Based on the number of rebuttals to your post, I think it's obvious who's "naive", but since you quoted me in that post, I'll add my 2 cents.

Read the thread. Then read it again. No one here is suggesting that we will develop the next be-all, end-all App Store DRM solution.

We recognize and acknowledge that the Apple DRM has been defeated and we understand how it is currently being done. Some of us are proposing additional tactics that can be employed at the application level to detect that the running app is cracked and, if so, throwing up some additional road blocks. Forgive us for thinking outside of the box.

If you think it's pointless to make the effort to preserve "20 or 30 sales", then leave your apps under normal Apple DRM control and watch those sales disappear. When you eventually learn what your actual loss to piracy is, you might have a second thought.
Kalimba is offline   Reply With Quote
Old 03-17-2009, 07:23 PM   #122 (permalink)
see my iOS apps! :D
 
Join Date: Sep 2008
Location: Europe
Posts: 280
Default

I don't know if it is coincidence or not, but after I started using some measures my sales grow up at least 40%. May be coincidence but, who knows.
LunarMoon is offline   Reply With Quote
Old 03-17-2009, 07:29 PM   #123 (permalink)
Registered Member
 
Join Date: Nov 2008
Posts: 188
Default

Quote:
Originally Posted by flipconversion View Post
XDD

You guys are quite naïve if you believe you're steps ahead of the hackers. For crying out loud - hackers managed to reverse engineer a major corporation's tightly sealed prize phone in a matter of days, with their "tiny little brains." You guys are nucking futs if you think anything you do will stop hackers from getting around your protection.

This is not your responsibility, it's apple's - if apple had done a *good* job at using their crappy DRM on iPhone apps, it wouldn't be an issue. Hackers never managed to crack fairplay on apple music files, I think it's rediculous that apple hasn't even responded to the situation.

But damn you all if you think you're smarter than the hackers, there's probably tons of those same hackers here - who are probably a ton smarter and a ton wiser than the vast majority of us. Just because you're pissed at them for cracking your app - which might make you lose a whole 20 or 30 sales, (that's not even a dinner with your family folks) doesn't mean that you bashing them will help any. And it certainly doesn't mean they're not smart. =P
This is the 3rd or 4th time I've said this, but apps are not being cracked on a one-by-one basis by an actual cracker disassembling the binary, they're being run through a process which strips the DRM by script kiddies.

Also, FairPlay has circumvented by several programs. FYI.
jsonli is offline   Reply With Quote
Old 03-20-2009, 07:14 AM   #124 (permalink)
New Member
 
Join Date: Mar 2009
Location: UK
Age: 38
Posts: 30
Default

Well submitting my app with some basic protection (if there is a closed forum where we can discuss this properly I'd love to join), and after some pondering I've decided the pirate gets the full thing, working, but it never saves any high scores, they get to see the game, try it out. I may change that so they can only play it on easy as well, but I don't want them to just delete it straight off, I'd like to see if I can convert them to even just a few extra sales.

I'm wondering if when 3.0 goes live there will be some improvement by Apple, but I'm not holding my breath it'll last for more than a week or two
__________________
Twitter

Developer of: Splitz
Gottaa is offline   Reply With Quote
Old 03-21-2009, 12:15 AM   #125 (permalink)
Registered Member
 
Join Date: May 2008
Location: New York City, NY
Posts: 178
Default

Yeah I did not put any crack countermeasures in my app, and just tonight (after 5 days on the app store) I see it on a few crack sites. Initially I was furious. I read through all these posts. Am I right to say that a user can only use these cracked versions if their phone is jail broken?

Have the methods here been deemed reliable? Yes I know if someone wants to open up your app they can, I'd just like to block script kiddies from running it through a generic cracking app. I'd hate to use some crack detection code that does not work correctly and damages a legitimate user's phone.

Can anyone PM me with a reliable way of adding some basic protection? Or is there some private forum we can discuss this in?

Thanks

_________________________________________________
TapArtist - www.tapartist.com
markww is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



» Advertisements
» Online Users: 246
14 members and 232 guests
2WeeksToGo, ADY, BrianSlick, Dani77, Dattee, headkaze, kapps11, mer10, mgon987, sneaky, timle8n1, Touchmint, vigu360
Most users ever online was 1,187, 10-11-2011 at 08:09 AM.
» Stats
Members: 158,879
Threads: 89,228
Posts: 380,744
Top Poster: BrianSlick (7,129)
Welcome to our newest member, mgon987
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 12:45 PM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0