某些代码分析工具要求您提交.ipa和.dSYM文件。
将.dSYM文件与.ipa一起发送给应用程序进行逆向工程的风险是什么?我的意思是,如果他同时拥有.ipa和.dSYM,有人可以获得源代码吗?
答案 0 :(得分:4)
即使没有符号,对应用程序进行逆向工程并不难。
以下是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肯定会使任务变得更加容易:不仅所有的函数和变量名都在那里(包括私有的),但也可能是完整的类型(结构,类和枚举)。您将无法获得源代码,但可能与它非常接近。
答案 1 :(得分:2)
不,他不会得到源代码,但知道符号名称可能有助于理解编译/反编译的代码。