내 블로그에는 에 대한 글이 상당히 많다. 만 154건이다. 또 강좌로 올린 글만 60건이다. 여기에 스마트폰인 아이폰(iPhone)에 대한 글도 상당히 많다. 얼마 전 iOS 3.1.2(iOS)가 나왔다. 3.1에서 와이파이로 위치 확인이 되지 않는 문제는 여전하지만 어제 날잡아 다시 판올림했다. 3.1.1로 판올림 한 것이 지난 10월 5일이므로 채 10일이 되지 않아 다시 판올림한 셈이다.

덕만 vs 미실

iOS 1.x 때는 해킹을 하지 않으면 기본 위글만 사용할 수 있었다. 사실 상당히 많은 사람들에게는 기본 위글만 사용해도 그리 불편하지 않다. 그러나 역시 컴퓨터에 대해 조금 아는 사람들에게는 기본 위글은 조금 부족하다. 그래서 하기 시작한 것이 해킹이었다. iOS 2.0이 등장한 뒤에는 해킹을 하지 않아도 상당히 많은 어플을 설치할 수 있게 바뀌었다. 그런데 지금도 난 해킹을 하고 있다.

그 이유는 간단하다. '1.x 대의 iOS'는 페르시아에서 막 계림으로 온 덕만과 비슷하다. 많은 잠재력을 가지고 있지만 기본 위글이라는 한계 때문에 이런 잠재력을 발산하기 힘들다. '2.x 대 iOS는 현재덕만과 비슷하다. 기본 위글 외에 상당히 많은 어플을 사용할 수 있지만 정작 진정한 힘을 발휘하기는 힘들다. 물론 앱 스토어의 어플만 충분히 활용해도 하지 못할 것은 별로 없다.

어제 선덕여왕은 미실의 잠자고 있던 본성을 깨우는 것으로 끝이났다. 내가 해킹을 하는 이유도 이와 비슷하다. 해킹을 하면 아이팟 터치의 잠자고 있던 본성을 깨울 수 있기 때문이다. 흔히 크랙 어플을 사용하기 위해 해킹하는 사람도 많다. 그러나 내가 해킹하는 이유는 크랙 어플 때문이 아니라 아이팟 터치에 직접 접근하고 시스템을 직접 건드릴 수 있기 때문이다.

어려운 해킹

컴퓨터에 익숙한 사람에게 해킹하는 과정을 껌을 씹는 것과 비슷하다. 껌을 사고, 껍질을 벗기고, 다시 속지를 벗긴 뒤 씹으면 된다. 정말 쉽다. 그러나 껌이 무엇인지 모르는 사람은 껌을 사는 방법 부터 어렵다. 해킹도 비슷하다. 컴퓨터에 익숙하지 않은 사람은 일단 겁부터 먹는다.

해킹하다 벽돌이 됐다는데
나 역시 처음 해킹을 시도하다 아이팟 터치가 벽돌이 됐다. 아이팟 터치에 대한 첫 강좌가 복구 모드에 대한 글인 이유도 이 때문이다. 그러나 아이팟 터치는 설사 벽돌이 되도 살릴 수 있는 복구 모드펌웨어 업데이트 모드(DFU)를 제공한다. 따라서 이 두 모드로 부팅하는 방법만 알고 하드웨어의 고장이 아니라면 언제든지 벽돌이 된 아이팟 터치를 처음 구입했던 상태로 만들 수 있다. 문제는 복구 모드DFU 모드 모두 초보자에게는 너무 어려운 벽이라는 점이다. 따라서 아는 사람에게 상당히 쉬운 해킹이지만 초보자들은 엄두도 내지 못하는 것이 해킹이기도 하다.

진짜 쉬운 해킹

초보자들이 해킹할 때 가장 어려워 하는 부분은 바로 DFU 모드로 부팅하는 것이다. 해킹을 자주한 사람에게는 눈감고도 할 수 있는 것이 DFU 모드로 부팅하는 것이다. 그러나 해킹을 막는 장벽 중 하나가 바로 DFU 모드 이기도 하다. 따라서 이번 글에서는 정말 쉬운 해킹 방법을 소개하겠다. 사용자가 해야할 일은 해킹 프로그램을 내려받은 뒤 클릭만 두번하면 된다.

일단 iOS를 3.1 이상으로 판올림한다. 3.1 이상으로 판올림해야 하는 이유는 해킹 프로그램이 3.1, 3.1.2를 지원하기 때문이다. 판올림하는 방법은 간단하다. 를 9.x로 판올림하고 업데이트 확인 단추를 눌러 판올림하면 된다. 이미 펌에웨어를 받아둔 상태라면 Shift-복원 단추를 눌러 판올림하면 된다. 현재 iOS의 판번호가 2.x라면 3.x로 판올림할 때 비용을 지불해야 한다. 이 부분은 따로 설명하지 않겠다.

주의해야 할 것은 이 해킹 강좌는 아이팟 터치 1세대와 2세대를 위한 강좌다. 1세대에서는 동작하는 것을 확인했지만 2세대에서는 확인하지 못했다. 아이폰 3G와 3GS도 가능하지만 언락된 아이폰이라면 펌웨어를 판올림하지 말 것을 권고하고 있다. 자세한 내용은 blackra1n을 참조하기 바란다.

  1. 를 띄어 아이팟 터치가 아이튠즈에서 잘 인식되는지 확인한다. 인식되지 않는다면 인식되게 만든 뒤 다음 절차를 진행한다.
  2. blackra1n.exe를 클릭해서 blackra1n.exe를 내려받은 뒤 실행한다. 운영체제에 따로 파일 열기 - 보안 경고가 뜰 수 있다. 이때는 실행 단추를 클릭한다.
  3. 다음과 같은 조금 촌티나는 화면이 나타나면 'make it ra1n'단추를 클릭한다.
  4. 'entering recovery...', 'running...'과 같은 화면이 나타나며 해킹이 진행된다. 이때 '아이팟 터치'는 다음과 같은 화면이 나타난다.

    먼저 오른쪽 아래 작은 사진처럼 소년의 모습이 나타나며 이어 애플 로고가 나타난다.

  5. 확인창이 나타나면 '확인' 단추를 클릭한다. 이 확인창은 해킹이 진행되는 과정에 나타날 수도 있다.

어이없지만 이것으로 해킹은 끝난다. 해킹된 아이팟 터치의 스프링보드(Springboard)에 'blackra1n'이라는 아이콘이 있으면 정상적으로 해킹된 것이다. 한가지 주의할 것은 iPhone Dev TeamPwnageTool도 며칠 전부터 3.1.2를 지원하므로 해킹을 할 줄 아는 사람이라면 blackra1n 보다는 iPhone Dev Team의 공식 해킹 도구나 커스텀 펌웨어를 사용하는 것이 좋다. 쉽게 해결할 수 있지만 blackra1n은 해킹한 뒤 루트 폴더에 접근하지 못하는 문제가 있기 때문이다. 또 이외에 다른 문제가 있을 수도 있다.

Cydia 설치

해킹한 아이팟 터치의 잠자고 있는 숨은 재능을 깨우려고 하면 역시 를 설치해야 한다. 1.x에서 자주 사용되면 Installer는 현재 퇴출된 상태고 2.0에서 등장한 Cydia와 3.0에서 등장한 Icy가 설치 프로그램으로 주로 사용되고 있기 때문이다. Cydia에 대한 설명은 유용한 프로그램 설치하기를 보기 바란다. 다만 blackra1n에는 Cydia, Icy외에 Rock라는 설치 어플도 지원한다. 그러나 여기서는 Cydia만 설명하겠다. 설치하는 방법은 상당히 간단하다. blackra1n을 실행하고 Cydia를 터치한 뒤 나타나는 Install 단추를 터치하면 된다.

Cydia를 설치한 뒤 각종 어플을 설치하는 부분은 이전에 내가 올린 를 참조하기 바란다. 해킹을 한다는 것 자체가 지금까지 떠먹여 주던 음식을 스스로 떠 먹겠다는 의사 표현이므로 어플을 설치하는 방법까지 알려 달라고 조르지 말기 바란다.

루트 폴더 접근 문제

자신이 초보라고 생각한다면 이 문제는 그냥 넘어가면 된다. 그 이유는 초보자는 굳이 루트 폴더에 접근할 필요가 없기 때문이다. 그러나 커스텀 펌웨어를 찾는 것도 귀찮고 또 iPhone Dev Team에서 윈도용 해킹 도구를 출시할 때까지 기다리기 힘들어 따라한 사람이라면 다음 단계를 적용해서 가급적 루트 폴더까지 접근할 수 있도록 하는 것이 좋다. 다만 이 부분은 초보자를 위한 부분이 아니므로 간단히 설명하겠다.

  1. 'Cydia'에서 iFile을 설치한다. iFile을 설치하는 이유는 iFile로는 시스템 루트에 접근할 수 있으며, 웹 서버를 지원하기 때문에 파일을 올리기 쉽기 때문이다.
  2. 'iFile'을 실행한 뒤 아래쪽의 '와이파이 아이콘'을 터치한다. 와이파이로 연결된 상태가 아니라면 흐릿하게 나타난다.
  3. 과 같은 브라우저의 주소표시줄에 '아이팟 터치'에 표시된 주소를 입력한다.
  4. 웹 브라우저에서 /System/Library/Lockdown 폴더로 이동한다.
  5. Services.plist에 마우스 오른쪽 단추를 클릭, 다른 이름으로 링크를 저장한다. 이 과정은 만약의 사태에 대비하기 위한 백업 과정이다.
  6. iPod-Services.zip를 내려받아 임의의 폴더에 압축을 풀어둔다.
  7. 웹 브라우저의 파일 선택 단추를 클릭하고 6단계에서 압축을 푼 파일(Services.plist)을 지정한 뒤 'Upload' 단추를 클릭한다.
  8. 아이팟 터치를 다시 시작한다.

사실 루트 폴더에 접근하지 못하는 이유는 Services.plistcom.apple.afc2 서비스가 등록되어 있지 않기 때문이다. 따라서 plist 편집기로 다음 항목을 추가해도 된다.

<key>com.apple.afc2</key>
<dict>
    <key>AllowUnactivatedService</key>
    <true/>
    <key>Label</key>
    <string>com.apple.afc2</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/libexec/afcd</string>
        <string>--lockdown</string>
        <string>-d</string>
        <string>/</string>
    </array>
</dict>

사실 나도 blackra1n 보다는 iPhone Dev Team의 공식 도구를 더 좋아한다. 그런데 이 해킹강좌를 쓴 이유는 blackra1n은 다른 어떤 해킹 도구보다 해킹하기 쉽기 때문이다. 이 강좌에서는 어플 설치와 시스템 루트를 접근하지 못하는 문제까지 다루었기 때문에 복잡해 보이지만 해킹만 생각하면 정말 쉽다.

관련 글타래