簡體   English   中英

如何確定Apple並未篡改我的應用程序?

[英]How can I be sure Apple hasn't tampered with my app?

據我了解,當您將iOS應用上傳到App Store並獲得批准時,Apple會執行以下程序:他們實際上僅使用自己擁有的密鑰對應用進行加密(該密鑰也已烘焙到所有Apple設備中),然后重新對其進行簽名(因為他們沒有原始發布者的專用簽名密鑰)。 因此,有人從App Store下載的實際應用程序不再包含任何加密“證明”,即它是發布者發送給他們的應用程序。

不管蘋果是否願意冒着風險修改上傳的應用程序(獲得什么收益?),看來作為軟件發行商,要確保從App Store下載了什么是非常困難的,即使不是不可能的事情。在Apple對其進行加密/重新簽名之前,尚未有人對其進行篡改。

是的,可以將其安裝在越獄設備上,並使用諸如離合器之類的工具再次對其進行解密,但是沒有簡單的方法來檢測我是否可以確定是否進行了某些修改。 理想情況下,我希望在應用程序中進行某種形式的運行時檢查,以確保它沒有被篡改或重新打包,但是盡管我可以對未通過應用程序商店分發的應用程序執行此操作,但似乎不可能適用於應用商店應用。

另外,有人知道TestFlight應用程序的過程是否相同嗎?

在任何非越獄設備上根本不可能做到這一點,因為您無法從沙箱中訪問可執行文件。 為了檢查更改,您必須先退出沙箱,然后解密可執行文件,然后才能獲得哈希值(sha1,md5 ...)並將其與上傳的版本進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM