iPhone App二进制文件到源代码

时间:2009-07-27 03:21:01

标签: iphone binary

我对iPhone应用程序中的二进制文件有疑问。

当iPhone开发人员想要将他们的应用程序提交给测试人员或App Store时,他们会构建他们的应用程序的二进制文件。我的问题是可以编辑你的应用程序的二进制文件来获取源代码,或者只是简单地编辑二进制文件用于某些目的。

如果有可能,我该如何防止它发生。

2 个答案:

答案 0 :(得分:5)

通常,从编译代码中获取源代码在技术上是可行的,但不是您担心的程度。通常不会出于某些原因进行反编译。

  • 编译器在应用程序中优化了很多不同的东西,例如:展开一些循环或内联一些函数。这会使反编译代码与源代码大不相同,难以修改。
  • 编译时通常会丢失符号。我不知道每个编译器的过程(特别是不适用于iPhone应用程序),但我知道Visual Studio会为调试保留一个单独的数据库。如果没有该数据库,var UserPreferences将转向_a或沿着这些行的某些内容。

所有这一切,你不能完全阻止某人反编译你的代码,但你几乎没有什么可以让他们难以获得有用的东西。

答案 1 :(得分:0)

正如亚历克斯所说,如果他们真的想要这样做,你无法防止有人反编译你的二进制文件,但是除非你有一些秘密代码或他们无法通过任何其他方式获得的东西,否则编写应用程序的克隆通常会减少工作量然后反编译并使用结果。

如果您确实有一个密码或某些东西,您需要向人们隐藏(通常作为DRM或类似DRM的系统的一部分),一种使其更难获取的方法是不直接将代码放入您的应用程序。使用状态机或其他东西来构建代码,因此很难弄清楚发生了什么。无论如何,这可能会让你买一周。