【问题标题】:Can .ipa file be reverse engineered if you have the dSYM?如果您有 dSYM,可以对 .ipa 文件进行逆向工程吗?
【发布时间】:2013-01-08 06:11:00
【问题描述】:

某些代码分析工具要求您将 .ipa 与 .dSYM 文件一起提交。

将 .dSYM 文件与 .ipa 一起发送是否存在应用逆向工程的风险?我的意思是,如果他同时拥有 .ipa 和 .dSYM,有人可以获取源代码吗?

【问题讨论】:

  • 代码分析工具的意义不在于(部分)对您的应用程序进行逆向工程以便对其进行分析吗?另外,出于好奇,您所说的工具的任何示例,用于 .ipa 的?
  • 我真的想知道同样的事情。我向他们询问了他们的流程,比如他们将如何处理 .ipa 和 .dSYM。还在等待回复。

标签: ios objective-c reverse-engineering ipa dsym


【解决方案1】:

即使没有符号,对应用程序进行逆向工程也不难。

以下是最新版本的IDA 可以向您展示没有 .dSYM 的内容:

如果你有 Hex-Rays 反编译器,你可以得到类似的东西:

// CKMessagesController - (void)mailComposeController:(id) didFinishWithResult:(int) error:(id) 
void __cdecl -[CKMessagesController mailComposeController:didFinishWithResult:error:](struct CKMessagesController *self, SEL a2, id a3, int a4, id a5)
{
  struct CKMessagesController *v5; // r4@1

  v5 = self;
  objc_msgSend(self, "dismissViewControllerAnimated:completion:", 1, 0);
  objc_msgSend((void *)v5->_mailComposeController, "release");
  v5->_mailComposeController = 0;
}

拥有 .dSYM 肯定会让任务变得更容易:不仅所有的函数和变量名都会在那里(包括私有名称),而且可能还有完整的类型(结构、类和枚举)。您将无法获得 source 代码,但可能非常接近它。

【讨论】:

    【解决方案2】:

    不,他不会得到源代码,但知道符号名称可能有助于理解编译/反编译的代码。

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 2010-09-30
      • 2014-06-06
      • 2010-10-23
      • 2012-08-17
      • 2012-02-26
      • 2019-10-20
      • 2012-07-21
      • 2010-12-06
      相关资源
      最近更新 更多