如果你有dSYM,可以对.ipa文件进行逆向工程吗?

时间:2013-01-24 13:11:24

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

某些代码分析工具要求您提交.ipa和.dSYM文件。

将.dSYM文件与.ipa一起发送给应用程序进行逆向工程的风险是什么?我的意思是,如果他同时拥有.ipa和.dSYM,有人可以获得源代码吗?

2 个答案:

答案 0 :(得分:4)

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

以下是IDA的最新版本可以显示而不使用 .dSYM:

IDA iPhone Objective-C disassembly

如果你有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肯定会使任务变得更加容易:不仅所有的函数和变量名都在那里(包括私有的),但也可能是完整的类型(结构,类和枚举)。您将无法获得代码,但可能与它非常接近。

答案 1 :(得分:2)

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

相关问题