2010-05-15 57 views
2

有沒有一種方法可以從IPhone應用程序反編譯二進制文件。 我jailbroke我的iPhone和驚訝地發現其他應用程序的數據庫廣泛開放被複制。 所以我導出了我最重要的表格,並將其硬編碼到代碼中。 而不是從一個數據庫加載表到數組我只是生成代碼來填充數組,只保留最基本的數據庫信息,所以關係仍然工作。 花了一段時間,但現在工作正常。在IPhone上保護文件

我只是想知道我是否安全,是否有人可以輕鬆地爲應用程序反編譯二進制文件並提取數據。在Java中,它易於反編譯* .class文件,儘管這是字節碼,我認爲iphone應用程序更低級別。

我知道iPhone SDK s4可以標記文件爲安全。任何人都知道這可以通過越獄覆蓋或這是一個unix鎖嗎?

+0

我有興趣知道問題中引用* decompiling *二進制文件的部分的答案,這些問題目前尚未得到解答。目前有什麼工具可用? – izb 2010-05-25 13:05:31

回答

0

說實話蘋果無法保證一塊磚。 iPhone幾乎一直處於牢不可破的狀態。用戶(閱讀黑客:)有更多控制在設備上比開發人員。您無法真正確保設備上的內容安全。如果使用加密,攻擊者無法獲得密鑰。 (他可以控制所有庫,並可以掛接他想要的任何函數調用。)

看到開發人員回到Security Though Obscurity是很常見的,我不打算去接受這些想法。如果設備上有數據,則黑客可以並將複製該數據。

+0

是的,我重命名所有的表和字段。 一張桌子上有很多我手動發現的GPS數據,所以不想複製。我提取了該表中的所有數據,並生成了用於填充表存儲的NSDictionary的代碼,並在應用程序啓動時運行該代碼。我保持ID字段填寫,所以其他關係仍然有效。如果我需要表中的一行,我找到了id,然後在內部NSDictionary中查找它。似乎工作正常。作爲設計的一部分,我的下一個應用程序肯定會添加模糊(因此我不確定如何拼寫:))。 – 2010-05-17 10:37:19

1

加密數據的缺點,你真的只受到人們缺乏動力的保護。如果有足夠動機的人想要查看數據,他們可以。即使您對數據進行加密,如果他們的密鑰位於或由您的代碼生成,他們也可以找到。

0

我jailbroke我的IPhone,是 驚訝地發現其他應用程序的DBS寬 開放被複制。

不,這沒有錯。它必須存儲在某個地方。

因此,我導出了我最重要的表 並將其硬編碼爲代碼。

壞的舉動。

來自特權域的越獄是手機中的漏洞,並不是您的問題。對此你無能爲力,甚至加密你的數據也不會拯救你,因爲手機上的所有特權代碼都能夠訪問加密密鑰。

換句話說:

代碼通常不會有敵意,竊取你的貨物。唯一的原因是因爲用戶將不好的代碼下載到手機或發生了遠程利用。