2012-04-17 238 views

回答

1

您不能使用它,iOS不允許您創建可執行頁面或從文件運行自定義二進制文件。

0

據我所知,編譯的可執行二進制文件不能打包,因爲它必須用Xcode和工具簽名。將已簽名代碼部署到iOS設備後,無法以任何方式進行修改(只有操作系統可以加載它與RAM不同)。

您可以嘗試打包資源文件並以不同的方式加載它們。

+2

這是一個不正確的假設。構建過程(來自Xcode)與代碼簽名是分開的,您可以在構建它之後和簽署之前操作二進制文件。項目設置中甚至有一個「構建後自定義構建腳本」字段。 – kuba 2012-04-24 21:01:02

+0

是的。但是,編碼(二進制)也是Xcode和工具(如此編寫)的一部分。因此,爲了使用非xcode工具打包二進制文件,您還需要iOS子系統中的對應文件。所以,在我的眼中:沒有機會。 – 2012-04-24 21:02:27

+1

那麼,沒有。 UPX和其他軟件包將解包器嵌入到二進制文件中,所以它仍然是一個獨立的二進制文件,沒有其他要求。然而,由於其他原因(無法在運行時分配可執行頁面(如其他帖子中所建議的))可能不可能。 – kuba 2012-04-24 21:53:07

1

像UPX這樣的解包器需要將解包的圖像放在某個地方。如果它被放置在內存中,則CPU需要開始執行圖像中的指令,該指令在此之前被視爲數據。 IIRC,iOS不允許執行數據。