2013-01-10 2 views
3

탈옥 감지 메커니즘에 대해 여러 가지 글을 읽었습니다. 내가 무엇을 발견했는지는 사과가 심사 과정에서 거절하거나 무언가 무시 될 수있는 것이다. 나는 또한 사과가 탈옥 API를 제거했다는 것을 알게되었다.완벽한 탈옥 탐지?

그렇다면 장치가 jailbroken인지 여부를 확인할 수있는 확실한 메커니즘이 있습니까?

+0

왜 기기가 감옥에 걸려 있는지 감지해야합니까? 앱에 금이 갔는지 정말 알고 싶습니까? 큰 차이가 있습니다. jailbroken 장치를 확인하는 것은 간단합니다. 불법 복제 된 앱에 대해 걱정하는 것은 바보의 심부름입니다. – rmaddy

+0

단지 jailbroken 장치에서 실행되는 내 응용 프로그램을 방지하기 위해,이 탐지 메커니즘을 무시하고 싶지 않아 .. 또한, 사과가 거부하지 않을 것입니다 .. 어떤 제안? – Ocelot

+0

탈옥 한 기기에서 앱을 실행시키는 데는 아무런 문제가 없습니다. 대부분의 감옥 차단기는 해적이 아닙니다. – rmaddy

답변

10

아니요, 확실한 방법은 없습니다.

+1

@ 보든은 말했다. 장치가 jailbreak 상태인지 확인하려면 앱이 장치 빌드 내에서 심층적으로 액세스해야합니다. 이는 사과의 제출 지침에 따라 불법적 인 조치입니다. – jakenberg

+0

흠 .. 내가 생각한 thats .. 나는 누군가가 이것을 할 수있는 수용 가능한 방법을 알기를 바랬다 : ( – Ocelot

+1

@ jsksma2 jailbroken 장치를 확인하는 것은 사소한 일이며 코드는 완벽하게 합법적이기 때문에 Apple의 수표를 통과시킨다. – rmaddy

5

나는 이것이 절대적이라고 주장 할 수는 없지만 적어도 어떤 경우에는 (전부는 아닐지라도) 작동한다는 것을 나는 알고있다. 내 애플 스토어 애플 리케이션 중 하나에 6 개월과 4 업데이 트에 대한이 코드를 가지고 있으므로 애플은 이것으로 확인 될 것으로 보인다.

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

좋은 해커라면 누구나이 코드를 사용하지 않을 수 있습니다. 더 많은 해커 증거를 만드는 것은 독자에게 남겨진 연습 과제입니다.

+4

이것은 실제로 확인하지는 않습니다. 본때를 보여 주지만 jailbreaking의 * artifacts *는 거의 모든 정상적인 탈옥 사용자가 갖고 싶어합니다.이 검사가 실패 할까봐 걱정된다면 사용하는 문자열을 난독 처리해야하며 Objective-C API를 사용하지 않아야합니다. (C API는 간단한 파일 시스템에 사용하기 쉽습니다.) C API는 크래커가 no-ops로 대체하기가 조금 더 어렵습니다. – Nate

+0

@Nate Tha nks 제안을 .. .. :) – Ocelot

1

탈옥 된 기기 감지에이 응용 프로그램을 사용하십시오.

AntiPiracyDemo.ipa

바이 패스에 대한 거기서이 Blog 재미있는 물건을 살펴 Cycript을

적이 사용하여 GDB

  • 방법 스위 즐링을 사용하여 본때를 감지

    1. 런타임 수정을 우회하는 두 가지 방법

      본때를 보여 주는 체크.