탈옥강좌/탈옥

iOS7 완전탈옥 최적화 및 안정화와 오류에 관하여

T.B 2013. 12. 23. 21:24


자동차 튜닝의 끝은 '순정'이라는 말을 하듯이 탈옥(Jailbreak)의 끝은 '순정'이라 주장하는 분들 꼭 있죠. 1백만원에 육박하는 기기를 구매하는 순간 기기사용에 권리는 당연히 소비자에게 있음에도 불구하고 애플이 제한해 둔 틀(jail)에 갖혀 깨부수지(break) 않거나 못하는 것은 본인 성향 혹은 취향이라면 논외가 되겠으나 적어도 제대로 활용해보지도 않고 할 소리는 아닌듯 싶습니다.


우스게 소리로 '탈옥은 마약'이라는 말을 종종하는데요. 탈옥 제대로 한 분들은 탈옥 없이는 '갑갑함'을 느낀다는 입장인데 트친님들과 블로그 구독자분들께서는 어떻게들 생각하실지 모르겠습니다.


안드로이드OS가 xda에서 '버프'를 받고 발전해오듯이, iOS6 부터(정확하게 논하자면 잡스가 아닌 팀쿡 체제) iOS 역시 Cydia로 부터'수혈'을 받는다는 평가입니다. 이번 iOS7에서도 iOS6 그 이상으로 이미 2년전 누적 다운로드만 60만을 돌파한 Cydia라는 거대 JB community 매니아(technical users)들의 요구 사항을 다양하게 수용했다는 것을 분석한 글을 남긴적이 있으니 지금 무슨 소리하는지 잘 모르는 분들께서는 이전 포스팅을 참고하시길 바랍니다.(참고)


SW와 HW를 함께 판매중인 애플이기에 아무리 최적화를 잘 한다손 치더라도, iOS7에서 200여개 이상의 데몬이 추가된 만큼 배터리 소모량과 하드웨어 요구사항이 늘어난 것 만큼은 팩트입니다. 따라서 이번 포스팅은  iOS7의 기능과 중복 혹은 대체되는 트윅들을 제외하고 '탈옥폰(혹은 패드) 이렇게 써보세요.' 정도의 예시로 보면 되겠습니다.



Warned. 현재 가장 큰 문제점은 pod2g와 Saurik의 갈등으로 인해(참고) 사전 합의 없이 pod2g 단독으로 탈옥툴을 배포한 관계로 아래 목록은 Mobile Substrate 와 Preference Loader가 업데이트 된 이후를 기준으로 미리 작성해두는 포스팅이다. 글 제대로 읽지 않고 무작정 따라하다가 무한사과 혹은 무한리스프링 증상 및 비정상적인 기기사용에 의거 발생할 수 있는 '경우의 수'에 관한 책임은 각자 본인에게 있음을 분명하게 밝혀둔다.


최적화란, 자신에게 맞는 시디아 트윅을 셋팅하는 일련의 작업을 말하고(따라서 "딱 이거다" 정해진 최적화는 없다.) 안정화란, 애플 초기패스워드 alpine 변경과 resource&crash management 를 말한다. 따라서 지극히 주관적인 글일 수가 있으니, "이거 하면 안되요? 이거 안하면 안되요?" 라는 식의 질문은 정중히 사양 한다.


STEP1. 탈옥이 완료되면(참고) 홈화면에 Cydia 아이콘이 형성된다. 클릭하면 아래와 같이 'Preparing Filesystem' 문구를 확인할 수 있고 잠시 기다리면 자동으로 리스프링(respring) 된다.



STEP2. respring 후 Cydia를 재시작하면 아래와 같은 문구를 확인할 수 있다. 자신에게 해당되는 것을 선택하면 된다.



STEP3. Search에서 MobileTerminal(BigBoss)을 검색하여 설치한 후 실행한 다음 보안강화를 위해 아래와 같이 명령어를 입력하여 반드시 패스워드를 변경한다.


1. su 입력 후 enter(return)
2. alpine 입력 후 enter  (입력시 화면상에는 아무것도 표기되지 않음)   
3. passwd 입력 후 enter  (입력시 화면상에는 아무것도 표기되지 않음) 
4. newpassword에 자신이 원하는 패스워드 입력 및 enter 2회(입력시 화면상에는 아무것도 표기되지 않음)
5. reboot 입력 후 enter(꼭 리부팅을 해주지 않아도 크게 관계 없음) 

cf. OpenSSH의 기능과 역할(참고)


STEP4. 탈옥 상태에서 Rawfile systems에 접근할 수 있기에 여러가지가 가능하긴 한데 일반 사용자들이 할 수 있는 1. 카메라 무음 설정 에 관하여 소개해보도록 하자.


가장 쉬운 방법은 Winterboards를 설치한 후 Silent Camera Themes를 적용하는 방법이었는데 Winterboards가 설치만 될 뿐 no effects일 뿐만 아니라 Silent Camera Themes는 iOS6 부터 더이상 호환되지 않는다. iOS 6.1에서는 Fastsnap(BigBoss) 트윅을 사용할 수도 있으나 현재 대부분의 트윅이 호환되지 않기에 iFunbox 등으로 Rawfile Systems에 접근하여 System/Library/Audio/UISounds 에서 photoShutter.caf 파일을 백업한 후 photoshutter.caf.back 식으로 확장자를 변경하여 카메라 셔터음을 제거할 수 있다.


iFunbox 연결시 Jailed 문구와 함게 Rawfile Systems에 접근하지 못하면 afc2add를 설치한다.(아이폰5S iOS 7.0.3 GSM 확인)


2. 동영상 레코딩 무음 설정 은 .caf 파일의 확장자를 변경하거나 삭제하면 녹화 자체가 안된다. 따라서, 원본파일을 백업한 후 아무 소리 없는 .caf 확장자 파일을 만들어서 덮어쒸우면 된다. 아래는 @helios7157 님께서 보내주신 몇가지 무음 .caf 파일이다.


무음kit.7z


STEP5. 여기까지 진행했으면 이후 부터는 ARM64에 대한 Mobile Substrate와 Preference Loader 업데이트를 기다리는게 정신건강에 이롭지만 Mobile Substrate와 Preference Loader가 업데이트 되지 않았다는 전제에서 아래의 과정을 수행한다.(업데이트 되면 이 단계는 필요가 없다. 바로 6단계로 넘어가면 된다.)


1. 현재 iOS7 탈옥 오류의 가장 큰 문제점은 Mobile Substrate의 ARM64 미호환이다. 따라서 Mobile Substrate를 Cydia에서 Search 후 삭제한다.


2. Preference Loader 역시 오류의 주 원인으로 꼽히는 중이다. Preference Loader는 리부팅 혹은 리스프링 할 때마다 재설치를 해야만한다. 따라서 Preference Laoder를 삭제한다.


이렇게 하면 탈옥 후 보이지 않았던 expensions settings(Cydia 트윅 설치 목록)이 생성되며 일부 iOS7과 호환되는 트윅들을 사용할 수 있다. 예를 들자면 탈옥 사용자들에게 거의 필수(소리 잘 안함에도 불구하고)라 할 수 있는 tsProtector P가 정상작동된다. tsProtector P가 설치되면 금융앱 부터 앱스토어에 등록된 일반앱이 원치 않는 개인정보를 수집하거나 탈옥을 감지하는 것을 디텍트하여 우회시킬 수 있다. 일반 사용자(non-technical users)들이 할 수 있는 단계는 여기까지 정도다.


STEP6. 아래는 Mobile Substrate 및 Preference가 업데이트, iOS7 호환 업데이트가 됐을 때를 기준 'iOS 탈옥 이렇게 써보세요.'라는 예시로 유용한 트윅을 모아봤다.


Warned. 어디서 듣도 보도 못한 piracy 크랙 소스 추가해서 남의 지적재산권 도둑질로 발생할 수 있는 무한사과 혹은 무한리스프링에 관한 책임은 각자 본인에게 있으며 이와 관련된 질문은 일절 받지 않는다. 다만, 몇가지 오류와 해결방법을 제시하자면 다음과 같다.


error1. Cydia 에서 Install 항목이 뜨지 않고 recheck 오류 - piracy 크랙소스가 문제다. 삭제한 후 정상적으로 구매하면 Install 항목을 다시 볼 수 있다.


error2. Cydia에서 Install 항목이 뜨긴 뜨는데 설치시 size mismatch 오류 - piracy 크랙소스가 문제다. 삭제한 후 정상적으로 구매하면 Install 항목을 다시 볼 수 있다.


error3. Cydia에서 목록이 '모두' 사라지는 오류 - piracy 크랙소스가 문제다. Hackulo.us 해체 후 Cydia에서는 소스 추가에 제한을 뒀다. 삭제한 후 정상적으로 구매하면 목록을 다시 볼 수 있다.


아래에 소개하는 목록의 각 트윅들의 상세한 설명은 블로그 검색을 이용하여 확인할 수 있다. 유무료 트윅이 함께 소개되며 본인이 생각했을 때 필요 없을듯 싶은 트윅은 굳이 설치하지 않아도 무방하다.


. iOS7 완전탈옥 Cydia 트윅 호환리스트(참고)




STEP7. 오류 상세 확인과 해결



금일 BigBoss에서는 pod2g와 Saurik의 금전적인 갈등으로 빚어진 깜짝 탈옥툴 배포에 관하여 위와 같이 밝혔다. 부가 설명을 하자면 다음과 같다.


1. MobileSubstrate is outdated


핵심 프레임워크인 SBSetting, Activator(Cydia에서 Search로 검색하면 호환되는 베타버전을 사용할 수 있는 소스를 제공중이다.)가 새로운 iOS7 빌드와 호환되지 않는다. Saurik(Jay Freeman)이 프레임워크를 업데이트 할 때까지 대부분의 주요 시디아 트윅이 작동하지 않을 것이다.


2. Cydia is outdated


pod2g가 단독으로 탈옥툴을 배포했기 때문에 Cydia 설립자인 Jay Freeman 은 탈옥 트윅에 관한 버그 혹은 충돌에 관한 수정을 하지 않은 상황이다. 업데이트야 되겠으나 빠르게 작업하더라도 몇일은 소요될 수 밖에 없다.


. iOS7 완전탈옥 오류 evasi0n7, Taig와의 관계(참고)


3. Tweaks are outdated


가장 문제점은 대부분의 트윅과 연동되는 Mobile Substrate의 ARM64 미지원이다. 따라서 64bit AP인 아이폰5S(iPhone 5S), 아이패드에어(iPad Air), 아이패드미니2(iPadmini 2) 사용자들은 정상적으로 트윅을 사용할 수 없다. 현재 iOS7 호환 업데이트가 된 트윅들은 iOS7을 지원하는 A4기기인 아이폰4가 기준으로 이마저도 제대로 호환되지 않는(일부 호환) 케이스가 있다.


. iOS7 완전탈옥 Cydia 트윅 호환리스트(참고)


4. iOS 7.1


배포된 evasi0n은 iOS 7.0 부터 7.0.4를 포함하여 7.1 beta1, 7.1 beta2를 지원한다. 애플은 이미 iOS 7.1 베타를 개발자를 대상으로 테스팅 중으로 이것이 의미하는 것은 곧 iOS 7.1 정식버전이 배포될 것이라는 점이다. 물론, evasi0n7의 exploit이 7.1 베타2 이후 베타 버전 혹은 7.1 정식에서 막히지 않을 것이라는 보장은 없다.


. 애플 iOS7.1 베타3 테스트 중 정식 배포는 내년3월(참고)


5. TaiG


evad3rs 팀은 중국 360 그룹과 금전적 대가로 파트너쉽을 맺고 evasio0n7에 太极助手(TaiG)를 번들로 포함시켰다. 아이폰 설정이 중국어일 경우 자동으로 설치되며, evad3rs에서는 어떠한 악성코드도 포함되지 않았다고 주장하지만 太极助手는 사용자 정보를 불법으로 수집할 뿐만 아니라 애플의 지적 재산권을 침해(pirated apps)한다.



아래는 evasi0n7을 이용한 탈옥 중 발생할 수 있는 문제점과 해결 방법을 모아봤다.


1. Stuck on Apple logo


애플 로고에서 멈춤 현상(벽돌 혹은 무한사과)이 발생한 경우 evad3rs team에서 밝힌 내용은 OTA 업데이트를 했을 경우다. 우선 DFU 복원으로 복구한 후 → 이전 백업을 통해 복원  아이튠즈에 백업 → 다시 DFU 복원 → 탈옥 순으로 진행한다.


2. Endless Reboot loop, tweaks not working


무한 리부팅 혹은 트윅이 작동하지 않는다면 MobileSubstrate 문제다. 대부분의 라이브러리가 이 트윅에 의존하는데 evasi0n7에서 완벽하게 지원하지 못했을 뿐만 아니라 아직 ARM64는 미호환이다. MobileSubstrate의 개발자인 Saurki은 pod2g가 단독으로 탈옥툴을 배포했기 때문에 라이브러리 호환성 테스트를 하지 못한 상황이다. 이 이슈는 곧 업데이트 될 것이다.


3. evasi0n progress stuck


evasi0n7을 이용한 탈옥은 4~5분안에 완료되야 '정상'이다. 만약 evasi0n7 프로세스가 지나치게 오랫동안 멈춤 현상이 발생하면 우선 evasi0n을 종료 후 PC와 device를 리부팅하여 재시도 한다. 이외에도 케이블 문제가 있을 수 있으며 USB포트도 변경해본다. 그래도 안되면 복원까지만 진행한 후 다른PC에서 탈옥한다.


4. evasi0n can’t be opened on your Mac


Windows 사용자들 보다는 주로 Mac 사용자 중 아예 evasi0이 실행되지 않는 경우가 발생한다. 이문제는 OS X 10.8 이상 Gatekeeper 문제로 아래와 같은 방법으로 해결한다.


You can bypass this by control-clicking (or right-clicking) evasi0n.app, choosing open, and again clicking on Open in the dialog box that appears. If that doesn’t work, right-click, choose Show Package Contents>Contents>MacOS> and click evasi0n7.


5. Stuck on Activation Lock


Activation Lock(iOS7의 강력한 보안 기능으로 아이폰을 습득한 사람이 아이폰을 초기화 하는 것을 방지하며 초기화 하더라도 활성화 필요시 마지막 사용자의 애플 계정이 필요)에서 멈춰버려 기기가 활성화 되지 않을 수도 있다. iCloud.com(https://www.icloud.com/#find)에 접속한 후 해제하면 된다.


General tips


. iOS 기기를 탈옥하기 전 반드시 아이튠즈를 통해 로컬 백업을 진행한다.

. evasi0n6에서의 버그를 경험하고 싶지 않다면 iOS 잠금을 해제한 후 탈옥을 진행한다.(잠금해제 하지 않아도 딱히 문제는 없었다.)

. 탈옥 프로세스가 진행되는 동안 아이튠즈 및 연관되는 작업을 종료한다.

. OTA 업데이트를 한 경우 '무한사과(벽돌)'가 되는 버그가 있다. 따라서 아이튠즈로 로컬 백업을 한 다음 DFU 복원 후 탈옥을 진행한다.

. 만약 Windows 사용자라면 evasi0n7을 관리자 권한으로 실행한다.

. 다시 한번 강조하지만 ARM64(64-bit A7) 기기(아이폰5S, 아이패드에어, 아이패드미니)에 관한 Mobile Substrate가 호환되지 않는다. 뿐만 아니라 A5+ 도 Preference loader가 정상적으로 호환되지 않기 때문에 리부팅 혹은 리스프링시 마다 재설치해야 한다.

.옥 후 푸쉬 알림(카카오톡, 트위터, 페이스북 등)이 해제되는 버그도 있다. 해결방법은 푸쉬알림을 원하는 앱을 실행한 후 다시 설정하면 된다.

. HTTP - 오류는 서버 과부하가 원인이다. 시간을 두고 나중에 재설치한다.


여기까지가 현재 할 수 있는 최적화 및 안정화 작업과 Mobile Substrate/Preference Loader/Cydia Tweak 호환 업데이트 후 탈옥 활용에 관한 예시, 알려진 오류 상세 확인, evasi0n7을 이용한 탈옥 중 발생할 수 있는 문제점과 해결 방법이 되겠습니다.


추가로 하나만 더 Tip을 드리자면, 미리 탈옥을 하고 싶다면 탈옥 전 당연히 가장 최근에 사용했던 기기 정보를 아이튠즈로 백업한 후 탈옥을 진행할테고, 탈옥 후 아이튠즈로 동기화 하지 말라는 겁니다. 트윅 호환성 테스트 과정에서 레지스트리가 꼬일 수 있는데 이걸 그대로 아이튠즈로 동기화 하게 되면 DFU 복원을 하더라도 '새 아이폰'으로 설정하지 않는 이상 계속 남기 때문입니다. 따라서 아예 동기화를 하지 말던가 탈옥 전 가장 최근 백업을 따로 로컬 백업해두는 것이 좋습니다.


여기까지 공백수 포함 7274자 군요. 저녁에 들어오자 마자 바로 포스팅을 시작했는데, 글 나눠서 시간되는데로 작성할까 싶다가 아무래도 '전화(는 써야하니)'와 관련된지라 혹시라도 탈옥으로 고생하는 분들을 위해서 빠르게 작성한다는게 탈옥 관련된 글이다보니 디테일한 정보도 필요하고 글에 오류도 없어야 할 뿐만 아니라 현재까지 알려진 대표적인 문제점을 포함해야 하기에 약 2시간 반 정도 걸린 것 같습니다. 다른 문제점이 있다면 블로그 댓글 혹은 트위터 맨션(@ph_TB)으로 남겨두시면 확인되는데로 업데이트 하도록 하겠습니다.


 T.B의 SNS 이야기 블로그의 모든 글은 저작권법의 보호를 받습니다. 어떠한 상업적인 이용도 허가하지 않으며, 이용(불펌)허락을 하지 않습니다.

▲ 사전협의 없이 본 콘텐츠(기사, 이미지)의 무단 도용, 전재 및 복제, 배포를 금합니다. 이를 어길 시 민, 형사상 책임을 질 수 있습니다.

▲ 비영리 SNS(트위터, 페이스북 등), 온라인 커뮤니티, 카페 게시판에서는 자유롭게 공유 가능합니다.


T.B의 SNS이야기 소식은 T.B를 팔로윙(@ph_TB) 하시면 실시간으로 트위터를 통해서 제공 받을 수 있습니다.

728x90
반응형