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

Interface 2, Advanced iOS
Mockup & Code Gen
($9.99)

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

Pic Frame Dynamo: Photo Editing
($0.99)

Abiliator
($1.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 10-22-2009, 01:26 PM   #1 (permalink)
Registered Member
 
Join Date: Sep 2009
Posts: 43
xtcsonik is on a distinguished road
Cool Do App Store reviewers see the actual CODE of you application?

Just wondering if they have any visibiltiy into the actual code you write? I would imagine they don't since apps like Yelp sometimes have easter eggs in em.

Does anyone know for sure?
xtcsonik is offline   Reply With Quote
Old 10-22-2009, 02:24 PM   #2 (permalink)
Registered Member
 
kierster's Avatar
 
Join Date: Mar 2009
Location: Canada!
Posts: 261
kierster is on a distinguished road
Default

I WAS 99.99% sure that they do not,
but not anymore thanks masc!
__________________
Check out some of my apps:
Boltz ($0.99)
FreeBoltz (FREE)
Cross Digits ($2.99) [Universal!]
Cross Digits Lite (FREE) [Universal!]
Targets ($0.99) (Facebook | YouTube Demo)
Greg's Apps

Last edited by kierster; 10-23-2009 at 07:51 AM.
kierster is offline   Reply With Quote
Old 10-22-2009, 02:47 PM   #3 (permalink)
Registered Member
 
Join Date: Oct 2009
Posts: 334
masc2279 is on a distinguished road
Default

Quote:
Originally Posted by xtcsonik View Post
Just wondering if they have any visibiltiy into the actual code you write? I would imagine they don't since apps like Yelp sometimes have easter eggs in em.

Does anyone know for sure?
The complex answer is yes. The reviewer may not but the files you send contain everything they need to decompile and or review your code. And if you would like to see what i mean, compile an app as if you were going to send it to the review process. Then right click on your app in the xcode product folder in the left hand column in xcode as if you were going to compress it and send it in and reveal in finder. Then right click on the app in the finder and click on show package contents. In this folder is everything that belongs to your app. code, images, and all. Then all you need is the knowledge to decompile it and see what is there.

In the review process the code scanning is done by computers checking if you have used any undocumented API's and or code then it is passed on to the reviewers for the content review.

Hope this helps.
masc2279 is offline   Reply With Quote
Old 10-23-2009, 07:35 AM   #4 (permalink)
Registered Member
 
Rudy's Avatar
 
Join Date: Mar 2009
Location: Ottawa, Canada
Posts: 1,425
Rudy is on a distinguished road
Default

I have to disagree with you masc2279, any binary can be "decompiled". The result won't be pretty and will be pretty hard to read in most cases. Short answer is no they don't see your actual source code but they can analyse the behavior of your application with various tools.
__________________
My Games:

My Blog
13" Macbook Air 1.7Ghz Core i5, 4GB DDR3, Intel HD Graphics 3000
iPhone 4S - PSPGo - 3DS - Wii - PS3 - 360
Rudy is offline   Reply With Quote
Old 10-23-2009, 10:19 AM   #5 (permalink)
Registered Member
 
Join Date: Nov 2008
Posts: 129
gonk is on a distinguished road
Default

Quote:
Originally Posted by Rudy View Post
I have to disagree with you masc2279, any binary can be "decompiled". The result won't be pretty and will be pretty hard to read in most cases. Short answer is no they don't see your actual source code but they can analyse the behavior of your application with various tools.
On a closely related note... you probably want to make sure that all of your debug symbols are stripped from your code (if this really worries you, or just to make your binary as small as possible). I don't know if just compiling in release mode does this for you, or if you have to add any extra flags.
gonk is offline   Reply With Quote
Old 10-23-2009, 11:50 AM   #6 (permalink)
Registered Member
 
Join Date: Jul 2009
Posts: 96
hellrider is on a distinguished road
Default

Quote:
Originally Posted by masc2279 View Post
The complex answer is yes. The reviewer may not but the files you send contain everything they need to decompile and or review your code. And if you would like to see what i mean, compile an app as if you were going to send it to the review process. Then right click on your app in the xcode product folder in the left hand column in xcode as if you were going to compress it and send it in and reveal in finder. Then right click on the app in the finder and click on show package contents. In this folder is everything that belongs to your app. code, images, and all. Then all you need is the knowledge to decompile it and see what is there.

In the review process the code scanning is done by computers checking if you have used any undocumented API's and or code then it is passed on to the reviewers for the content review.

Hope this helps.
Wrong. They can open the app bundle, but they can't decompile the binary. Even if they could, appstore reviews aren't programmers, much less can they read ARM assembly.
hellrider is offline   Reply With Quote
Old 10-23-2009, 11:55 AM   #7 (permalink)
Registered Member
 
Join Date: Oct 2009
Posts: 334
masc2279 is on a distinguished road
Default

Quote:
Originally Posted by hellrider View Post
Wrong. They can open the app bundle, but they can't decompile the binary. Even if they could, appstore reviews aren't programmers, much less can they read ARM assembly.
I never said the review had the knowledge to do so. But they do have everything they need to do so inside the package.
masc2279 is offline   Reply With Quote
Old 10-23-2009, 11:59 AM   #8 (permalink)
Registered Member
 
kierster's Avatar
 
Join Date: Mar 2009
Location: Canada!
Posts: 261
kierster is on a distinguished road
Default

They don't actually receive your code(objective C) though do they? Wouldn't they receive in it assembly code or something? I mean a compiler brings your code to lower levels for you when you use it right?
__________________
Check out some of my apps:
Boltz ($0.99)
FreeBoltz (FREE)
Cross Digits ($2.99) [Universal!]
Cross Digits Lite (FREE) [Universal!]
Targets ($0.99) (Facebook | YouTube Demo)
Greg's Apps
kierster is offline   Reply With Quote
Old 10-23-2009, 12:01 PM   #9 (permalink)
Registered Member
 
Join Date: Oct 2009
Posts: 334
masc2279 is on a distinguished road
Default

Quote:
Originally Posted by kierster View Post
They don't actually receive your code(objective C) though do they? Wouldn't they receive in it assembly code or something? I mean a compiler brings your code to lower levels for you when you use it right?
No they do not have your code directly they do have the compiled files which can be decompiled apple does have the tools to do so easily.
masc2279 is offline   Reply With Quote
Old 10-23-2009, 12:06 PM   #10 (permalink)
Registered Member
 
kierster's Avatar
 
Join Date: Mar 2009
Location: Canada!
Posts: 261
kierster is on a distinguished road
Default

Quote:
Originally Posted by masc2279 View Post
No they do not have your code directly they do have the compiled files which can be decompiled apple does have the tools to do so easily.
Ok that makes sense. A lot would definitely be up for interpretation for the decompiler I'm sure, the exact same program with the exact same functionality could be coded in millions of ways in Objective C(or another high level language).
__________________
Check out some of my apps:
Boltz ($0.99)
FreeBoltz (FREE)
Cross Digits ($2.99) [Universal!]
Cross Digits Lite (FREE) [Universal!]
Targets ($0.99) (Facebook | YouTube Demo)
Greg's Apps
kierster is offline   Reply With Quote
Old 10-23-2009, 12:12 PM   #11 (permalink)
dre
Registered Member
 
Join Date: Oct 2009
Location: Los Angeles
Posts: 1,307
dre is on a distinguished road
Default

Apple has exactly the same chances seeing our sources codes as we have seeing MAC OS source codes. They are all compiled with the same open-source gcc. Just make sure to strip the debugging information.

Now, with Objective C and with it's archaic messaging mechanism the framework has to know the class and method names, so all your Objective C names are stored in the binary file.

I use C++ mostly (ObjC only to talk to framework) - none of the source codes or names or anything like that goes into binary. You have to turn of RTTI though..

Regarding disassembling - you can of course see the assembly code. There are some C decompilers - they generate somewhat readable code, but it's not your source code. Of course if Apple engineers want to know what exactly your app does - they can reverse engineer it and figure it out. If they suspect that you planted some malicious code, they are capable of catching you, but it's a tedious and time consuming work.
__________________
Game Pack - All-in-1 Game Pack
Shinro - A combination of Minesweeper and Sudoku
Nibbles - Remake of a classic snake game
Hooptie Browser - Humorous web filter
dre is offline   Reply With Quote
Old 10-23-2009, 01:44 PM   #12 (permalink)
Registered Member
 
Join Date: Aug 2008
Location: Seattle, WA USA
Posts: 590
ethanwa is on a distinguished road
Default

The short answer is NO, they cannot see your code.
ethanwa is offline   Reply With Quote
Old 10-23-2009, 02:00 PM   #13 (permalink)
Registered Member
 
Join Date: Sep 2009
Posts: 1,018
Tambourin is on a distinguished road
Default

there is no easy way to decompile a program. Even Apple does not have magic tools
also I heard once that reverse engineering of other people's code is illegal in USA
Tambourin is offline   Reply With Quote
Old 10-23-2009, 04:46 PM   #14 (permalink)
Registered Member
 
Join Date: Oct 2009
Posts: 39
Arcadiu is on a distinguished road
Default

From my experience with C++, decompiling that would turn into assembly code so apply the same principle here, Obj C decompiled = assembly thus meaning all the classes, objects and syntax used in Obj C but not found in assembly will be very screwed up.

Just my 2 pence.
Arcadiu is offline   Reply With Quote
Old 10-23-2009, 05:47 PM   #15 (permalink)
Registered Member
 
Join Date: Jun 2008
Posts: 236
dagamer34 is an unknown quantity at this point
Default

Short answer: No. Long answer: No. Even longer answer: They don't care enough to find out.
__________________
My apps:
Interviews
Pocket Lab Values
dagamer34 is offline   Reply With Quote
Old 10-23-2009, 08:05 PM   #16 (permalink)
dre
Registered Member
 
Join Date: Oct 2009
Location: Los Angeles
Posts: 1,307
dre is on a distinguished road
Default

Quote:
Originally Posted by Tambourin View Post
there is no easy way to decompile a program. Even Apple does not have magic tools
Actually it's easy. Apple doesn't have any magic tools at all, they use open-source compilers and there are plenty of tools out there. Studying the program and understanding what it does is harder, but nothing is impossible. But again - you get some program generated code, not the actual source code.

Quote:
also I heard once that reverse engineering of other people's code is illegal in USA
Reverse engineering is absolutely legal in the US. Otherwise all those anti-virus, anti-trojan writing companies would never leave the court rooms. They have to reverse engineer every virus and every trojan before writing anti-virus for that.

There were plenty of books on DOS and Windows with information obtained by reverse engineering. The authors would be in jail. The Linux SAMBA project is done by reverse engineering of MS protocols, NTFS drivers for Linux are results of reverse engineering. The examples are countless.

It's just, yeah... Apple doesn't really care. The app is running in the sandbox, so you can't really do much. Why would they bother reverse engineering somebody's app?
__________________
Game Pack - All-in-1 Game Pack
Shinro - A combination of Minesweeper and Sudoku
Nibbles - Remake of a classic snake game
Hooptie Browser - Humorous web filter
dre is offline   Reply With Quote
Reply

Bookmarks

Tags
app store, reviewers

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: 411
16 members and 395 guests
Absentia, baja_yu, buggen, ChrisYates, Domele, Duncan C, ebrahim_savadinejad, gbenna, GHuebner, illogical, JamesCahall, jeroenkeij, Kirkout, mraalex, SillyHoney
Most users ever online was 1,387, 04-10-2012 at 04:21 AM.
» Stats
Members: 175,640
Threads: 94,106
Posts: 402,845
Top Poster: BrianSlick (7,990)
Welcome to our newest member, jasonwhf2
Powered by vBadvanced CMPS v3.1.0

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