我有一個簽名的mac應用程序可執行文件。我用代碼簽名的可執行文件的內容初始化了NSMutableData
。然後我修改了一部分可執行文件,並保存了修改後的可執行文件。當我嘗試使用此修改的可執行文件運行原始應用程序時,應用程序崩潰。從mac應用程序可執行文件中刪除代碼簽名
崩潰日誌,
System Integrity Protection: disabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (Code Signature Invalid)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace CODESIGNING, Code 0x2
從崩潰日誌很顯然,它崩潰,因爲無效的代碼簽名。 我沒有應用程序的源代碼,我只是試圖解決某人的舊應用程序中的一些錯誤。
所以我的問題是如何刪除目標c中的二進制代碼簽名?
代碼簽名的全部問題是讓這樣的事情變得不可能。這是驗證應用程序未被篡改的一種方式。 –
@ItaiFerber我的目標不是在應用程序商店分發這個應用程序。在Hopper反彙編器中,我們可以從可執行文件中刪除代碼簽名並將其保存爲新的可執行文件。那麼如何在objective-c中做到這一點? –
這裏你的實際目標是什麼? – Ssswift