我的iPhone应用程序可以被逆向工程吗?

11
我已经创建了一款iPhone应用程序,我想将编译好的.app文件发送给客户,以便他可以在自己的设备上安装和测试这个iPhone应用程序。
他是否能够查看此 .app 文件的内容,例如该应用程序中使用的资源文件(图像、声音文件等)?他是否可以从编译好的产品中反向工程出构建此应用程序所使用的源代码?

2
要查看软件包内容,请使用CTRL-Click .app文件,然后选择“显示软件包内容”。但是,代码被编译成Unix可执行文件和.nib/接口构建器文件,这些文件不可读。 - Tom
9
@Jerry Coffin:不是这样的。"app files" 是文件夹。 - jer
4
@Harinder - 你原始的措辞非常简短也不是很清楚。在你的进一步澄清下,我编辑了一些措辞以帮助表明这是一个合法的问题。我同意现在应该重新开放此问题。 - Brad Larson
@fuzzy lollipop:是的,这就是我在谷歌上搜索后得出的结论。 - iHS
2
@fuzzy lollipop,感谢您的纠正。我把“.app”和“.ipa”搞混了... - ohho
1个回答

14
在OSX中,应用程序包只是一个名为.app的目录,其中包含有关应用程序的一些特殊元数据文件、应用程序可执行文件和其资源。右键单击并选择Show Package Contents将显示整个Application.app目录的内容。
任何未使用某些应用程序特定加密的文件资源、图像、声音、属性文件等都将被明确访问。
话虽如此,如果是本地Objective-C应用程序,则应用程序代码将被编译,不易于反向工程化,必须进行反编译,如果剥离了调试信息,则需要专门的黑客来理解汇编输出并修改它。

2
他们是否可以通过努力获取到完全相同的源代码? - RK-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接