2013-01-10 77 views
3

我經歷了各種關於越獄檢測機制的帖子。無論我遇到的是蘋果在審覈過程中會拒絕的東西還是可能被繞過的東西。我也知道蘋果是否刪除了越獄API ..萬無一失越獄檢測?

那麼,有沒有什麼萬無一失的機制可以檢查設備是否越獄?

+0

爲什麼你需要檢測設備是否被監禁?你真的想知道你的應用程序是否被破解?有一個很大的不同。檢查越獄設備是微不足道的。擔心盜版應用是愚蠢的錯誤。 – rmaddy

+0

只是爲了防止我的應用程序在越獄設備上運行,不希望這種檢測機制被繞過。另外,應該是蘋果公司不會拒絕的東西。任何建議? – Ocelot

+0

讓應用程序在越獄設備上運行沒有任何問題。大多數監獄破壞者不是海盜。 – rmaddy

回答

10

不,沒有萬無一失的方法。

+1

@borrrden說什麼。爲了檢測設備是否越獄,您的應用需要在設備內部深入訪問,根據蘋果提交指南,這是非法行爲。 – jakenberg

+0

嗯..多數民衆贊成在我這麼認爲..我希望有人會知道一些可以接受的方式來做到這一點:( – Ocelot

+1

@ jsksma2這是微不足道的檢查越獄設備和代碼通過蘋果的檢查,因爲它是完全合法的。 – rmaddy

5

我不能說這是萬無一失的,但我知道它起作用,至少在某些情況下(如果不是全部)。我已經在我的App Store應用程序中使用了這段代碼6個月和4次更新,因此Apple似乎對此持肯定態度。

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"] || 
    [[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"] || 
    [[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt"]) { 
    // Device is jailbroken 
} 

任何好的黑客都可能找到一種方法來禁止此代碼。讓更多的黑客證明是給讀者留下的一個練習。

+4

請注意,這不是真的檢查越獄,但越獄的* artifact *,幾乎所有正常的越獄用戶都會想要如果你擔心這個檢查被挫敗,你應該混淆你使用的字符串,並且可能避免使用Objective-C API (C API對於簡單的文件系統來說很容易使用)C API對於沒有操作代碼的代碼來說有點難以代替 – Nate

+0

@Nate Tha nks的建議.. :) – Ocelot

1

使用此應用程序檢測越獄設備。

AntiPiracyDemo.ipa

兩種方式使用使用Cycript

看看這個Blog有趣的東西在那裏爲旁路GDB

  • 法混寫繞過越獄檢測

    1. 運行時修改越獄檢查。