一部のコード分析ツールでは、.ipa と .dSYM ファイルを提出する必要があります。
.ipa と一緒に .dSYM ファイルを送信すると、アプリのリバース エンジニアリングのリスクがありますか? つまり、誰かが .ipa と .dSYM の両方を持っている場合、ソース コードにアクセスできますか?
一部のコード分析ツールでは、.ipa と .dSYM ファイルを提出する必要があります。
.ipa と一緒に .dSYM ファイルを送信すると、アプリのリバース エンジニアリングのリスクがありますか? つまり、誰かが .ipa と .dSYM の両方を持っている場合、ソース コードにアクセスできますか?
シンボルがなくても、アプリケーションをリバース エンジニアリングすることはそれほど難しくありません。
.dSYMなしでIDAの最近のバージョンを表示できるものを次に示します。
また、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 を使用すると、タスクがさらに簡単になります。すべての関数名と変数名 (プライベートなものを含む) だけでなく、おそらく完全な型 (構造体、クラス、および列挙型) も存在します。ソースコードを入手することはできませんが、おそらくそれにかなり近いものです。