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