아이폰 준완탈

아이폰 탈옥은 지금까지 완탈과 반탈로 나누어 졌다. 완탈은 완전한 탈옥을 줄인 말로 아이폰을 껏다 켜도 정상적으로 부팅되는 탈옥을 말한다. 반탈은 탈옥 어플을 사용할 수 있다는 점에서 탈옥으로 불리지만 아이폰을 껏다 켜면 반드시 탈옥 도구를 한번 돌려 주어야 정상 부팅되는 탈옥이다. 그런데 최근에 준완탈도 추가됐다. 즉, 완탈은 아니지만 아이폰을 껏다 켜도 부팅은 정상적으로 된다. 다만 시디어와 같은 탈옥 어플은 사용할 수 없는 상태로 부팅되는 탈옥이다. 오늘은 redsn0w를 이용해서 준완탈하는 방법을 알아 본다.

목차

아이폰 탈옥

최근 요 며칠간 아이폰을 계속해서 갈아 엎었다. iOS 4.2.1 GM(개발자)판이 공개된 뒤 바로 공개된 redsn0w 때문이다. iOS 4.2.1 GM으로 판올림 한 뒤 redsn0w를 이용해서 탈옥을 시도했다. 문제는 탈옥은 가능했지만 시디어(Cydia)가 실행되지 않았다. 확인해 보니 redsn0w 0.96b3에 포함된 시디어가 iOS 4.2.1과 호환되지 않아 발생한 문제였다. 결국 탈옥을 하며 'SSH 번들'을 설치하고 SSH를 이용해서 아이폰에 접근 시디어를 패치했다. 시디어를 패치하면 시디어는 실행되는 듯 잠깐 화면이 나타난 뒤 이내 멈추었다. 결국 iOS 4.1로 다시 판내림했다.

그리고 어제 redsn0w 0.96b4가 다시 출시된 것을 알고 또 다시 판올림 및 탈옥을 시도했다. 이번에는 redsn0w 0.96b3 판과는 달리 탈옥도 잘되고 탈옥 뒤 시디어 실행도 잘됐다. 시디어 어플은 AptBackup으로 백업하기 때문에 이번에는 'AptBackup'으로 시디어 어플 복원을 시도했다. 복원은 잘됐다. 그러나 아이폰이 다시 부팅되며 벽돌이 되는 현상이 발생했다. 그러나 이 부분은 어느 정도 예상한 부분이었다. 앱 스토어 어플과는 달리 시디어 어플은 시스템 의존적이다. 따라서 운영체제가 판올림되면 대부분 호환되지 않는다.

결국 로 부팅, 다시 iOS 4.2.1을 설치하고 탈옥(Jailbreak)했다. AptBackup으로 복구할 때 문제를 일으키는 어플을 찾기 위해 이번에는 시디어 어플을 하나씩 설치했다. 처음 설치한 어플은 탈옥을 하면 가장 먼저 설치하는 SBSettings이 었다. SBSettings을 설치하고 아이폰을 다시 부팅하자 AptBackup으로 데이타를 복원할 때에 똑 같은 현상이 발생했다. 사과 로고에서 더 이상 진행되지 않고 부팅이 멈추었다. 즉, 4.2.1은 탈옥이 가능하지만 시디어에서 가장 많이 사용되는 SBSettings 조차 아직 호환되지 않았다.

준완탈(Semitethered Jailbreak)이란?

4.2.1의 탈옥을 시도할 사람은 아직 다수의 시디어 어플이 호환되지 않는다는 것을 생각하고 탈옥(Jailbreak)을 시도하기 바란다. 또 한 가지 주의할 것은 아이폰 개발팀(iPhone dev team)에서 제공하는 redsn0w는 뉴부트롬(3GS 신형, 아이폰 4)을 사용하는 기기에는 '완전한 탈옥'(Untethered Jailbreak)을 지원하지 않는다. '묶여있다'(Tethered)는 점에서는 반탈과 비슷하지만 그렇다고 반탈도 아니다. 따라서 먼저 'redsn0w'에서 지원하는 탈옥 부터 설명한 뒤 탈옥하는 방법을 설명하겠다.

완탈옥(Untethered Jailbreak)
따로 설명할 필요가 없다. 완전 탈옥이라는 이름처럼 탈옥한 뒤 사용에 아무런 제약이 없다. 또 아이폰을 껐다 켜도 탈옥 상태가 유지된다. 다만 완탈은 이런 작업을 위해 부트롬의 데이타를 바꿔야 한다. 그런데 아이폰 3GS 이후로 부트롬의 데이타를 바꿀 수 없도록 했다. 따라서 아이폰 3GS 부터는 완탈을 위해 매번 새로운 방법을 사용해야 했다. 4.1에서 사용된 익스플로팅은 애플에서 이미 패치했기 때문에 사용할 수 없다. 또 아직까지 새로운 방법이 나오지 않았기 때문에 완탈은 조금 더 기다려야 한다.
반탈옥(Tethered Jailbreak)
묶여있는 탈옥(Tethered Jailbreak)이라고 한다. 탈옥을 한 뒤 아이폰을 다시 부팅하면 아이폰을 아예 사용할 수 없다[1]. 따라서 반탈은 아이폰을 부팅한 뒤 PC(Personal Computer)에서 매번 탈옥 도구를 꼭 한번 돌려 주어야 한다. 만약 탈옥하고 아이폰을 다시 부팅한 뒤 탈옥 도구를 돌리지 않으면 아이폰은 복구 모드로 부팅하게 된다. 즉, 반탈옥 상태에서 아이폰이 다시 부팅되면 아이폰을 사용할 수 없다.
준완탈(Semitethered Jailbreak)[2]
'redsn0w'에서 지원하는 탈옥은 완전 탈옥도 아니며, 반탈옥도 아닌 준완탈이다. 일단 묶여있는 상태는 반탈옥과 똑 같다. 다만 반탈옥이 다시 부팅되면 아이폰을 전혀 사용할 수 없는 반면 준완탈탈옥한 뒤 다시 부팅하면 순정폰 상태로 부팅된다. 즉, 탈옥툴을 다시 돌리지 않아도 아이폰을 사용하는데에는 아무런 문제가 없다. 그러나 시디어 어플이 동작하지 않는다. 따라서 '시디어 어플을 실행하려면 꼭 탈옥 도구를 돌려야 한다'.

따라서 과거의 반탈옥처럼 아이폰을 아예 못쓰게 되지는 않는다. 따라서 탈옥한 뒤 사용하는데에 큰 문제가 되지 않는다. 또 아이폰은 잘 죽지 않는다. 지금까지 아이폰이 죽은 것은 아이폰 3GS, 아이폰 4까지 두세번밖에 되지 않았다. 물론 이들 모두 탈옥폰에서 벌어진 일이었다. 또 설사 죽었다고 해도 순정폰 상태로 사용하다 PC가 있는 곳에서 탈옥 도구를 돌리면 된다. 탈옥을 시도한 이유도 이런 이유 때문이었다. 탈옥에 대한 조금 더 자세한 정보는 탈옥 FAQ를 보기 바란다.

준완탈 하기

탈옥하는 방법은 조금 복잡하다. 4.1 탈옥에 사용한 limera1n이나 GreenPois0n[3]에 비해 훨씬 복잡하다. 또 시디어 어플을 설치하기 위해서는 계속 준완탈 작업을 해 주어야 한다. 따라서 탈옥은 펌웨어를 탈옥하는 절차필요할 때 탈옥 상태로 바꾸는 방법을 알아야 한다. 아울러 탈옥을 하기 위해서는 반드시 펌웨어 판올림 모드(Firmware Update Mode)로 아이폰을 부팅할 줄 알아야 한다. DFU 모드로 부팅하는 방법을 모른다면 미리 연습하고 탈옥을 시도하는 것이 좋다.

위 링크를 클릭해서 redno0w 최신판을 내려받는다. 압축 파일이므로 내려받은 파일을 임의의 폴더에 푼 뒤 아래의 절차를 따라하면 된다. DFU 모드로 부팅하는 방법만 알면 탈옥하는데에 큰 문제는 없으므로 꼭 DFU 모드로 부팅하는 방법을 숙지한 뒤 시도하기 바란다. 또 모든 절차는 iOS 4.2.1로 판올림한 것을 전제로 설명하겠다.

탈옥하기

  1. 'redsn0w'를 실행한 뒤 'Browse' 단추를 클릭하고 여기서 iOS 4.2.1 펌웨어를 지정한다. 지원하는 펌웨어이면 다음 그림처럼 IPSW successfully identified.라는 메시지가 나타난다. 이때 'Next >' 단추를 클릭한다. 한가지 주의할 것은 iOS 4.2 GM은 지원하지 않는다. 꼭 iOS 4.2.1이나 iOS 4.2.1 GM 펨웨어를 지정하기 바란다.

  2. 커널을 패치하는 화면이 나타나며 다음처럼 탈옥 옵션을 선택하는 화면이 나타난다. 여기서 'Install Cydia'를 선택하고 'Next >' 단추를 누른다. 'Install custom bundle'는 탈옥폰에 SSH와 같은 번들 어플을 설치할 때 사용하며, 'Just boot tethered right now'는 탈옥한 뒤 탈옥폰 상태(준완탈)로 만들 때 사용하는 옵션이다.

  3. 전원을 끄라는 창이 나타나면 여기서 '아이폰을 DFU 모드로 부팅'한다. 다음 단계에서 DFU 모드로 부팅해도 되지만 이 단계에서 DFU 모드로 부팅한 뒤 'Next >' 단추를 누르는 것이 더 편하다.

  4. 다음 그림처럼 DFU 모드로 진입하는 단계 설명이 나온다. 순서대로 따라하면 DFU 모드로 부팅된다. 3단계에서 DFU 모드로 부팅했다면 다음 그림처럼 탈옥 단계로 바로 넘어 간다. 그림을 보면 알 수 있지만 'redsn0w'도 지오핫(Geohot)의 'limera1n' 익스플로팅을 사용하는 것을 알 수 있다.

이렇게 하면 다음 사진처럼 아이폰에 탈옥하는 과정이 그대로 나타난다. 탈옥 데이타를 RAM으로 복사하다 아이폰이 멈출 수 있다. 이때는 다시 DFU 모드로 부팅한 뒤 다시 시도하면 된다. 참고로 아이폰은 어떤 상태에서든 복원할 수 있는 방법을 제공하며 갤럭시처럼 판올림하면서 데이타를 초기화하는 문제는 발생하지 않는다.

탈옥모드

일단 탈옥을 해도 아이폰을 다시 부팅하면 순정폰 상태가 된다. 따라서 스프링보드(Springboard)에 시디어 아이콘이 나타나지만 아이콘 조차 제대로 보이지 않는다. 또 여기에서 시디어를 실행해도 스프링처럼 톡 튀어 오르다 사라진다[4]. 이렇게되는 이유는 redsn0w는 아직 묶여있는 탈옥(Tethered Jailbreak)의 일종인 '준완탈'(Semitethered Jailbreak)만 지원하기 때문이다. 즉, 탈옥한 뒤 탈옥폰으로 사용하기 위해서는 'redsn0w'를 이용해서 다시 탈옥모드로 바꿔 주어야 한다. 탈옥모드로 바꾸는 절차는 탈옥하는 절차와 완전히 똑 같다. 다만 다음 그림처럼 'Install Cydia' 대신에 'Just boot tethered right now'를 선택하면 된다.

이렇게 하면 iOS 4.2.1도 탈옥을 할 수 있다. 아이폰을 다시 부팅하면 시디어 어플을 사용할 수 없는 문제는 있지만 아이폰 자체를 사용할 수 없는 반탈옥 보다는 역시 편리하다. 다만 4.2.1에서 동작하는 어플이 거의 없으므로 될 수 있다면 조금 더 기다리는 것이 나을 것 같다. 어제 SBSettings의 판올림이 있었기 때문에 최소한 SBSettings은 동작할 줄 알았는데 의외로 벽돌이 됐다.

남은 이야기, 아이폰과 갤럭시

어제 기사를 읽다 보니 갤럭시S도 데이터 삭제 없이 업그레이드라는 기사가 눈에 띄었다. 내용을 읽어 보니 갤럭시 S는 판올림을 하면 모든 데이타가 초기화 되기 때문에 나온 기사다. 즉, "지금까지는 모든 데이타를 초기화했지만 앞으로는 고객 데이타를 삭제하지 않도록 개선하겠다"는 기사다. 갤럭시 S의 초기화 문제는 오늘이 처음이 아니다. 초창기 펌웨어 오류로 사용 중 갑자기 초기화되는 문제가 있었다. 그러나 우리언론은 이런 사실을 단 한번도 보도하지 않았다.

아이폰을 구입하려는 사람이라면 누구나 알고 있는 배터리 문제는 "아이폰 배터리 대란 오나"와 같은 제목으로 뽑는다. 그러나 사용에 정말 치명적인 초기화 문제는 거의 다루지 않는다. 이런 것을 보면 우리나라에는 아예 기자가 없는 것이 아닌가 하는 생각이 든다. 그러나 더 문제는 갤럭시 S 사용자의 억지다. 어제 갤럭시S도 데이터 삭제 없이 업그레이드라는 기사를 올리자 트윗이 하나 달렸다. 바로 갤럭시 S 사용자들이 판올림할 때 초기화는 당연한 것이라고 한 주장했기 때문이다. 바보 같은 기계 하나가 사람을 바보로 만드는 것인지 아니면 지나쳐서 바보가 되는 것인지 모르겠다.

@hansne: 어제 다들 업그레이드 시에 앱이 삭제괴고 초기화는 당연한 것이라 이야기한 사람들이 또 뭐라고할까
@C7H5NO3S_: 갤스 수리를 위해 AS센터에서 AS접수를 위하여 초기화에 동의 사인을 했던 분의 사연이 생각나네요

내가 아이폰을 좋아하는 이유 중 하나는 '어떤 상황에서도 사용자의 데이타를 복원할 수있기 때문이다'. 아이폰에서 데이타를 백업하는 방법은 많다. 순정폰이라면 아이튠즈를 이용해서 백업/복원 할 수 있다. 또 일부 데이타만 복원하고 싶다면 iBackupBot와 같은 유틸리티를 사용하면 된다. 탈옥한 뒤 설치한 시디어 어플은 'AptBackup', 'Chronus', 'PkgBackup'등을 이용하면 역시 가능하다. 파일 시스템을 백업하는 것도 가능하지만 논외로 하겠다. 그러나 역시 가장 강력한 프로그램은 아이튠즈(iTunes)다.

다음 그림은 현재 내 아이폰의 백업 상태이다. 11월 22일자 백업은 필요없어 삭제했기 때문에 11월 23일, 11월 24일 백업만 남아 있다. 11월 23일 백업은 redsn0w 0.96b3를 사용하기 위해 펌웨어를 판올림하며 백업된 데이타이고, 11월 24일 백업은 redsn0w 0.96b4를 사용하기 위해 펌웨어를 판올림하며 백업된 데이타이다. 보통 하나의 폴더로 두는 백업 데이타이지만 4.2.1에서 백업한 데이타는 4.1로 판내림하면 사용할 수 없기 때문에 아이튠즈에서 자동으로 폴더를 구분해서 백업한 것[5]이다.

따라서 지금까지 베타판으로 판올림하고 다시 내리고, 이런 글을 쓰기 위해 다시 판올림, 탈옥, 판내림을 해도 이전에 사용하던 데이타는 단 하번도 잃지 않고 그대로 사용해 왔다. 심지어 3GS에서 사용하던 데이타까지 아이폰 4로 그대로 가져왔다. 이런 것이 바로 기본이다. 삼성이 갤럭시 S처럼 아이폰의 껍데기는 베낄 수는 있다. 카피 본능의 삼성[6]이니 더욱 그렇다. 그러나 이런 기본과 사용자 경험은 삼성이 절대 베낄 수 없는 영역이다. 펌웨어 오류로 모든 데이타를 초기화하고 판올림하며 데이타를 초기화하는 것은 철학이 없는 제품, 이건희가 말한 삼성이 만들면 쓰레기가 된다는 말의 방증이기도 하다.

다만 생각해 보면 우습다. 무려 100만원에 가까운 돈을 지불하며 실험용 쥐처럼 베타 테스터가 되는 사람들. 알고 그러는 것인지 모르고 그러는 것인지 모르겠지만. 아마 똑 같은 일이 애플에서 발생했다면 조중동의 헤드라인은 며칠 동안 아이폰 초기화 게이트가 차지했을 것이라는 생각이 든다. 한 예로 아이폰 펌웨어를 판올림하며 서버 폭주로 연결이 원할하지 못한 적이 있었다. 이때 국내 언론은 "속터지는 사용자"등의 표현을 사용하며 문제 삼았다. 한가지 당부하고 싶은 것이 있다.

언플에 놀아나는 우매한 국민이 되지 말자[7]!!!

관련 글타래


  1. 아이폰을 다시 부팅하면 아이폰을 아예 사용할 수 없었다. 그러나 최근 반탈은 탈옥만 풀린다. 즉, 시디어 관련 어플만 실행할 수 없다. 
  2. 묶여있는 탈옥이기 때문에 준완탈 보다는 준반탈이라는 표현이 더 적합하다. 그러나 준반탈로는 의미가 와닿지 않아 준완탈이라는 표현을 사용했다. 
  3. GreenPois0n도 조만간 준완탈을 지원할 것이라고 한다. 
  4. 이런 동작 방법 때문에 스프링보드라는 이름이 붙은 것이 아닌가 싶다. 
  5. 글을 쓰기 위해 판올림을 자주하하다 보니 백업 데이타만 수십 G가 넘을 때도 있었다. 
  6. 삼성이라고 쓰고 삼플이라고 읽는다. 여기서 삼플은 Samsung+Apple의 줄임말로 영어로 쓰면 Sample(복사기의 표본)이 된다. 
  7. 국민이 우매하다는 뜻도 갤럭시 S 사용자가 우매하다는 뜻도 아니다. 인터넷에 문맹이 많아 추가한다.