아이폰 5, 하루만에 탈옥?

며칠 전 '아이폰 5가 출시 하루만에 탈옥됐다'는 소식을 들었다. 아이폰 5가 출시되기 전에 '아이폰 4S에 iOS 6을 설치하고 탈옥을 시도했다'고 한다. 그리고 아이폰 5가 출시되자 바로 탈옥에 성공했다고 한다. 너무 빠른 탈옥이라 이전에 탈옥에 참여했던 해커까지 '하루만에 탈옥했냐?'고 묻는 장면까지 포착됐다. 만약 이 말이 사실이라면 아이폰 5는 국내 출시 전에 탈옥 도구가 공개될 수도 있다. 다만 아이폰 4 사용자는 굳이 탈옥을 기다릴 필요가 없다. 기존의 redsn0w를 이용하면 지금도 준완탈이 가능하기 때문이다. 다만 redsn0w로 탈옥해도 시디어 어플을 설치하지 않는다. 따라서 이번 글에서는 준완탈한 뒤 '수작업으로 시디어를 설치하는 방법', 'iOS 6에서 도는 어플'을 알아 보도록 하겠다.

하루만에 탈옥된 아이폰 5

며칠 전 출시된지 하루만에 아이폰 5가 탈옥됐다는 소식을 들었다. 샌프란시스코에 거주하는 그란트 파울은 자신의 트위터(@chpwn)에 탈옥해야만 설치할 수 있는 시디어 어플(Cydia Apps)이 포함된 사진과 시디어(Cydia)를 실행한 사진을 올렸다. 아이폰 5가 출시되기 전에 작업을 시작했으며 iOS 6이 설치된 아이폰 4S에서 서너 시간만에 성공했다고 한다. 그리고 "아이폰 5(iPhone 5)는 30분만에 탈옥에 성공했다"고 한다. 어떤 방법으로 탈옥에 성공했는지는 모르겠다. 그러나 사실이라면 아이폰 4나 아이폰 4S와는 달리 상당히 빨리 탈옥 도구가 등장할 가능성이 많다.

@chpwn이 공개한 사진

왼쪽 사진에는 탈옥해야 설치할 수 있는 시디어가 깔려있다. 또 화면의 길이가 아이폰 4에 비해 길며 아이콘의 수가 5줄이다. 오른쪽 사진은 시디어를 실행한 뒤 찍은 사진으로 보인다. 역시 아이폰 4에 비해 조금 길다. 참고로 왼쪽 사진 원본의 해상도는 '640x1136'으로 아이폰 5의 해상도와 일치한다. [그림출처: 왼쪽, 오른쪽]

아직 글을 올리지 않았지만 iOS 6도 탈옥폰에서 제공하던 기능을 상당수 가져왔다. 먼저 앱 스토어에서 어플을 설치할 때 어플이 종료되지 않는다. StayOpened라는 시디어 어플을 설치한 것과 비슷하다. 또 통화 목록도 이젠 삭제할 수 있다[1]. 통화 목록 삭제는 상당히 여러 시디어 어플에서 지원했다. 그러나 난 KuaiDial로 한방에 해결해 왔다. 전화가 왔을 때 바로 문자를 보내는 기능도 제공한다. 이 기능은 I'm Busy라는 탈옥폰 어플에서 제공하던 기능이다. iOS 6에서 개선 또는 추가된 기능이 200여가지라고 한다. 또 과거 탈옥폰 기능을 다수 순정폰으로 가져온 전례를 생각하면 iOS 6의 새로운 기능 중 탈옥폰 기능이 다수 포함되어 있는 것은 당연하다고 생각한다.

탈옥하는 이유

그런데 왜 탈옥이 필요할까? 그래도 역시 탈옥할 사람은 한다. 내가 탈옥하는 가장 큰 이유는 테마[2]SBSettings 때문이다. 순정폰SBSettings처럼 상태 막대를 이용해서 블루투스나 와이파이 설정을 켜고 끄는 기능은 지원하지 않는다. 이런 문제점 때문에 순정폰에서 설정을 쉽게 바꾸는 방법에 대한 글을 쓰기도 했다. 물론 이 방법은 애플에서 막았기 때문에 지금은 동작하지 않는다.

그러나 아이폰 사용자가 불편해 하는 기능 중 하나이며, 많은 사용자들이 원하는 기능이 바로 SBSettings처럼 상태막대를 통해 설정을 켜고 끄는 기능이다. 내가 테마(WinterBoard)와 'SBSettings'만 지원해도 탈옥할 사람이 90%는 줄어들 것이라고 한 것도 이런 이유 때문이다. 테마는 두번째로 친다고 해도 상태 막대를 통해 설정을 켜고 끄는 기능을 iOS 6에서 조차 넣지 않은 이유를 모르겠다. 특허 문제가 아니라면 넣지 않을 이유가 없기 때문이다. 이외에 최고의 배터리 관리 어플인 전지의사(BatteryDoctor)도 나에게는 탈옥하게 만드는 어플 중 하나다. 아직 iOS 6에서 동작하지 않지만 조만간 대응 판올림이 있을 것이라고 생각한다.

준완탈

탈옥을 이야기하며 사설이 좀 길어진 것 같다. 아직 아이폰 4S와 아이폰 5용 탈옥 도구는 등장하지 않았다. 그러나 아이폰 3GS아이폰 4 사용자는 굳이 다른 탈옥 도구가 나오길 기다릴 필요가 없다. 이유는 기존의 를 이용하면 준완탈이 가능하기 때문이다. 따라서 오늘은 아이폰 4 사용자를 위해 redsn0w를 이용해서 준완탈하는 방법을 소개할까 한다. 'redsn0w'를 이용한 탈옥 방법은 과거에 소개한 방법과 별 차이가 나지 않는다. 따라서 'redsn0w'로 탈옥한 경험이 있는 사람들은 마지막의 시디아 설치 방법만 읽어도 된다.

반탈이라는 표현을 사용하지 않고 준완탈이라는 표현을 쓰는 이유는 iOS 4.2.1도 탈옥 됐다!를 읽어 보면 된다. 쉽게 이야기해서 반탈탈옥한 뒤 PC(Personal Computer)가 있어야 아이폰을 부팅할 수 있다.. 반면에 준완탈PC가 없어도 부팅할 수 있다. 다만 탈옥 어플을 쓸 수 없다. 이런 차이로 반탈이라는 표현 대신 하고 있다. 먼저 iOS 6을 탈옥하려면 당연히 펌웨어를 판올림해야 한다. iOS 6으로 펌웨어를 판올림하기 전에 iOS 6 주의사항을 먼저 읽어 보는 것이 좋다.

iOS 6 주의사항은 날짜를 보면 알 수 있지만 석달 전에 쓴 글이다. 당시에는 조회수가 얼마되지 않았다. 그런데 최근 iOS 6이 정식 출시되며 며칠 간 매일 수천회의 조회수를 기록한 글이다. 어제도 578회의 조회가 있었다. 즉, 석달 전 내가 한 고민과 똑 같은 고민을 한 사람이 많았다는 뜻이다. 다만 글은 일단 판올림한 것으로 가정하고 진행하도록 하겠다. 탈옥하기 전에 주의해야할 부분은 DFU 모드 부팅이다. 탈옥을 진행하기 전에 꼭 DFU 모드 부팅을 숙지하고 진행하는 것이 좋다.

  1. 구글 코드에서 'redsn0w'를 내려받는다. 지금까지 올라온 판본 중 가장 최신 판본은 9월 13일에 올라온 0.9.13dev4다. 따라서 윈도 사용자라면 redsn0w_win_0.9.13dev4.zip, 맥 사용자라면 redsn0w_mac_0.9.13dev4.zip를 받으면 된다.
  2. 내려받은 파일의 압축을 풀고 'redsn0w'를 실행한 뒤 'Extras' 단추를 누른다. 일반적으로는 'Jailbreak'(탈옥)를 바로 클릭하면 된다. 'redsn0w'도 0.9.6b4판 부터 펌웨어를 따로 지정하지 않아도 되기 때문이다. 그러나 'iOS 6'이 정식 출시된지 얼마되지 않아 이번 판은 따로 펌웨어를 지정해야 한다.
  3. 'Select IPSW' 단추를 클릭하고 자신의 기기에 맞는 펌웨어를 지정한다. '아이폰 4'라면 'iPhone3,1_6.0'으로 시작하는 파일을 '아이폰 3GS'라면 'iPhone2,1_6.0'으로 시작하는 파일을 지정하면 된다. 지원하는 펌웨어라면 오른쪽 작은 상자처럼 Successfully identified 창이 나타나고 여기서 '확인' 단추를 누르면 'Extras' 메뉴가 다시 표시된다. 여기서 'Back' 단추를 클릭한다.
  4. 메인 메뉴에서 이번에는 'Jailbreak' 단추를 클릭한다. 일단 커널 패치 화면이 잠시 나타나며 옵션 선택 창이 나타난다. 여기서 'Install SSH'를 선택하고 'Next' 단추를 클릭한다. 'iOS 6'에서 동작하는 시디어가 아직 출시되지 않아 Cydia not avaliable on iOS6 yet이라는 메시지가 나타나지만 신경쓰지 않아도 된다.
  5. 'DFU 모드' 대기 창이 뜨면 아이폰을 DFU 모드로 부팅한다. DFU 모드로 부팅하는 방법은 다음과 같다.
    1. 아이폰 전원 단추와 홈 단추를 동시에 누른다. 밀어서 끄기 화면이 나타나도 무시하고 전원 단추와 홈 단추를 계속 누르고 있어야 한다.
    2. 전원이 꺼지면 마음 속으로 5초를 샌다. 5초가 지나면 전원 단추만 놓는다. 즉, 5초가 지나면 홈 단추만 누르고 있어야 한다.
    3. 홈 단추를 누른 채로 다시 10초를 샌다. 이렇게 하면 컴퓨터에서 USB 기기 연결음이 뜨는데 이때 홈 단추를 놓으면 된다.
  6. DFU 모드로 들어가면 자동으로 준완탈이 진행된다. Geohot이 아이폰 4를 탈옥할 때 도입한 'limera1n'이 중간에 살짝 뜨는 것을 알 수 있다. 그리고 마지막으로 탈옥이 완료되면 'Done!' 메시지가 뜬다.
  7. 다시 'Back/Extras' 단추를 클릭해서 Extras 메뉴로 이동한 뒤 이번에는 'Just boot' 단추를 클릭하고 '아이폰'을 'DFU 모드'로 부팅한다. 이 과정은 준완탈된 탈옥폰에서 탈옥 어플을 쓰기 위해 꼭 해주어야 하는 과정이다. 이 과정을 거치지 않으면 탈옥 어플을 실행할 수 없다. 'DFU 모드'는 앞에서 설명했기 때문에 다시 설명하지 않겠다. 탈옥과 비슷한 과정이 진행된 뒤 'Done' 메시지가 나타나면 'redsn0w'를 끝낸다.

시디어 설치

앞에서 설명했지만 아직 완탈이 나오지 않았다. 또 redsn0w준완탈을 지원하지만 iOS 6에서 도는 시디어 어플이 출시되지 않았다. 따라서 준완탈을 해도 시디어를 설치하지 않는다. 그러나 크게 걱정할 필요는 없다. 정식으로 시디어가 출시되지는 않았지만 개발자판이 돌고 있으며 SSH를 이용하면 개발자 판을 설치할 수 있기 때문이다. 또 예상 외로 iOS 6에서 도는 탈옥 어플도 꽤 있다. 내가 주로 사용하는 어플을 중심으로 보면 윈터보드(WinterBoard), SBSettings도 정상 동작한다. 이외에 아이콘 배치에 유용한 Iconoclasm[3], iFile, Installous, Barrel등도 잘 동작한다.

아무튼 탈옥폰에 시디어를 설치하는 방법은 다음과 같다. 여기서 소개하는 방법은 iOS 6 GM 이상에서만 동작한다. 베타판 사용자라면 정식판으로 판올림한 뒤 시도하기 바란다. 참고로 베타판에서 시디어를 설치하고 싶다면 HOW TO INSTALL A WORKING CYDIA ON IOS 6 BETA 3, 4, AND GM를 보기 바란다.

  1. 'SSH'를 지원하는 프로그램(예: Putty)을 이용해서 아이폰에 접속한다. 탈옥을 시도할 정도라면 'SSH' 접속 정도는 잘 알것으로 생각하기 때문에 이 부분은 따로 설명하지 않겠다.
  2. 로그인 '아이디'로 'root', '암호'로 'alpine'를 입력해서 로그인한다. 일단 로그인했다면 passwd 명령을 이용해서 암호를 바꾸는 것이 좋다. 그 이유는 아이폰 바이러스에 대한 글을 보기바란다.
  3. 콘손창에서 다음 명령을 실행한다. cd /는 실행하지 않아도 동작할 수 있다. 만약 오류가 뜬다면 cd /를 실행하기 바란다.

    cd /
    wget -q -O /tmp/cyinstall.sh http://downloads.kr1sis.net/cyinstall.sh && chmod 755   /tmp/cyinstall.sh && /tmp/cyinstall.sh
    
  4. 그림과 같은 메시지가 뜨며 아이폰리스프링(Respring)되면 시디어가 정상 설치된 것이다. 따라서 이때부터는 예전처럼 시디어를 통해 어플을 설치하면 된다. 다만 아직 iOS 6을 지원하지 않는 어플들이 좀 있기 때문에 꼭 호환성 목록을 확인한 뒤 실행하는 것이 좋다.

준완탈된 아이폰

다음 그림을 보면 알 수 있지만 탈옥하기 전이나 탈옥한 직후에는 스프링보드(SpringBoard)에 시디어(Cydia)가 없다. 그러나 이 과정을 거치면 오른쪽 그림처럼 스프링보드에 시디어 어플이 나타난다.

시디어를 실행하면 다음 그림처럼 Preparing Filesystem 메시지가 나타나며 자동으리 리스프링된다. 그리고 다시 실행하면 정상적으로 사용자 모드를 설정할 수 있다. 또 판올림해야 하는 어플이 10개 가량 표시된 것을 알 수 있다.

호환성 목록을 보면 알 수 있지만 긴 베타 기간 때문인지 iOS 6에서 동작하는 어플은 의외로 많았다. 일단 윈터보드는 잘 동작했다. 다만 iOS 5iOS 6의 테마 형식이 달라 iOS 5의 테마는 아이콘을 바꾸는 정도만 가능했다. 잠금화면 테마도 동작하기는 했지만 알림을 표시하지 못하는 문제가 있었다. 'SBSettings'은 다른 기능은 잘 동작했다. 그러나 어플을 등록, 실행하는 Dock를 터치하면 안전 모드로 가는 문제가 있었다.

팁속의 팁

Iconoclasm처럼 IconSupport 라이브러리를 이용하는 어플은 대부분 동작하지 않는다. 그러나 블로그에서 제공하는 IconSupport 파일을 내려받아 iFile로 설치하면 일부 어플은 잘 동작한다. 확인한 바로는 ScrollingBoard, Springtomize는 IconSupport 라이브러리를 설치해도 동작하지 않았다. 그러나 Iconoclasm은 잘 동작했다. 따라서 Iconoclasm 사용자는 다음 링크에서 IconSupport 파일을 내려받아 설치하기 바란다.

호환성

다음은 지금까지 알려진 iOS 6 호환성 목록이다. 구글 닥스 문서를 블로그에 붙인 것이다. 따라서 블로그의 호환성 목록 보다 최신 목록을 보기 위해서는 iOS 6 Cydia Tweaks Compatibility를 보기 바란다.

iOS 6 시디어 어플 호환성 목록
이름 동작 노트
140+ for Twitter
20 Second Lockscreen
3G Unrestrictor
3G Unrestrictor 5
AccountChanger
ActionBoard 일부 Only some things work.
ActionMenu 아니요 Cannot comply iOS <5.2.
Activator
AdBlock 아니요 App crashes.
AdBlocker
Aicon
Airblue Sharing 아니요 Share option has no use. Does not send or receive files.
AllMail
Android Delete
Android Recent Apps 아니요
Anicons 아니요
Animate 일부 Needs animate fix. Also causes safe mode until respring
AnimateBattery
AnyAttach 아니요 No paperclip in email.
AnyLockApp 아니요 Shows but when opening causes safe mode.
Anyring 일부 Crashes when clicking custom ringtone. Other features work.
App Stat 아니요 Opens but won't show stats.
App Switcher Brightness
AppAnalytics 아니요 Opens but shows no data.
AppCent
AppInfo
Applist
Applist
AppLocker 아니요 Causes safe mode when doing anything to do with this app.
AppsCenter for NC 아니요 Stuck in tethered boot.
AppSize
AppSlider 아니요 Causes safe mode when selecting app.
AppStore Update Size
Aptdate
ArrangeStatusBar
AskToCall 아니요
AskToSend 아니요
AttacherPro
BackBoard 아니요 No effect.
BackForwardEnhancer
Backgrounder 아니요 Causes safe mode.
BadgeClear 아니요 No effect.
Barrel
Bars 아니요
BatteryDetective
BatteryInfo fo NC
BatteryShower
Better Lockscreen Camera 아니요 Nothing changes.
Bigify+
biteSMS 아니요 Crashes when opening.
BlurriedNCBackground 일부
Bolt
BounceLock
Bridge
BrightnessSwitcher 아니요
Browseinapp
Browser Changer
BrowserChooser 아니요 Causes safe mode when tapping in settings.app.
Bugfix Duplicate Icons
BugFix Stuckpages
Bulletin 아니요
BytaFont
CallBar 아니요 Can't make/receive calls.
CameraButtons
CardSwitcher 아니요
Cascade
CleanStatus 일부 No effect.
ClearSpotlight 아니요
CleverPin 아니요
Color Keyboard 아니요
Copic 아니요 Asks for activation.
CrashReporter
CustomGrid
CustomGrid free 아니요
Cydelete 아니요 Safe mode when deleting an app with it.
Cyntact
Dashboard x
Dater 일부 Crashes settings when clicking the preference.
Deck
DeleteAllContacts
DeleteMail
DeviceInfo
DictGoogle
DietBar
Direct Closer 아니요 Causes safe mode upon double tapping home.
Direct Closer Pro 아니요
Disable MultiTasking 아니요 No effect
disable uninstall
Disable Voice Control 아니요 No effect
DisplayRecorder 아니요 Wont stop recording. Also deletes the - in switcher.
Double At
DoubleDock
Dreamboard
EasyFindOnPage 아니요 Crashes safari.
EnhancedTabs
Erica Utilities
F.lux
FakeCarrier
Fakeclockup
Firewall iP
Five Icon Dock 아니요 Requires IconSupport.
Five Icon Switcher
Five-Column Springboard 아니요 Requires IconSupport.
FlashCam 아니요 When tapping an option causes safe mode.
Flashlight
Flowtation
FMFLive
FolderCloser
FolderEnhancer 아니요
FolderLock
GPower Pro
GrabberApp 아니요 Safe mode when attempting to open app from lockscreen.
Graviboard 아니요
GravityLockScreen
GridTab for Safari 아니요 Makes safari crash.
Grooveshark
GuizmoDNS 아니요 No effect
HomeSafari 아니요 No options are added in Safari.
HomeScreen Contacts 아니요
Homescreen Settings 아니요 Causes safe mode when tapping add to homescreen.
iblacklist 아니요 Asks for registration but no keyboard shows after tapping box.
iBye 아니요 No icon
iCeo 아니요 Opens and freezes on the logo upside down.
iCleaner
iColorizeLabel 아니요 No effect.
Icon Renamer 아니요 Crashes app you renamed.
Iconoclasm
Iconsupport 아니요 Predepends <iOS 6
iControl 아니요 No effect
iFile
Imperium 아니요
InfiniBoard 아니요 Requires IconSupport.
InfiniDock 아니요 Requires IconSupport.
InfiniFolders 아니요 Requires IconSupport.
Infinite Tweet 아니요 Crashes Twitter and when tapping in settings crashes.
InfoPage
Insomnia
IntelliscreenX 일부 "Shows app Icon, but no settings"
iPicMyContacts
iProtect 아니요 Causes safe mode.
iSHSHit
iSlideText
jitter launch
KillBackground 아니요 Causes safe mode.
LabelAbove 아니요 Nothing happens.
LastApp 아니요 Causes safe Mode.
LibDisplayStack
LibHide 아니요
LibStatusBar
Libweather 아니요 Causes respring loop.
LiveClock 아니요 Causes safe mode.
LocationHolic
LockInfo 아니요 Causes safe mode/springboard to crash
Lockscreen Clock Hide
LockSpring
LSMusicGesture 아니요 Crashes and causes safe mode.
Mail More Photos 아니요 No effect
ManualCorrect 일부 Works but capitalises every word. Shift key stuck after space.
ManualCorrect Pro
Mark Read 아니요 No mark button able to be tapped.
MarkThatMessage
MobileSubstrate
MobileTerminal
MultiCleaner 아니요
Multifl0w 아니요
MultiStorey 일부 Works except icons go in one line closer together.
MusicTV
MxTube
MyWi 5 아니요 Nothing happens when switching on.
NCSettings
Nitrous 아니요 Causes Safe Mode when you open it in Settings.app.
No Badges 아니요
No Lockscreen Camera 아니요 Camera remains.
No Page Dots
NoCameraGrabber
NoFlash
NoLine
NoLockScreen 일부 Goes and comes strait back at times.
NoNewsIsGoodNews
NoSpot
NoStoreButton
NotesTab
NoWiggle
NowListening 아니요
Octopus keyboard 아니요 Causes respring loop.
OmniStat for NC
OneByOne Contacts
OneByOne Safari
OpenSSH
Orientation Activator
OverBoard 아니요 Cannot comply iOS <5.2.
PageNumbers
Parallax 아니요 Causes safe mode.
PasswordPilot
PasswordPilot Pro
Paste
PDANet 아니요 Will deactivate your phone.
Pincrush
Pkgbackup
Plugication
Poof
Powerguard 아니요 Makes mobilesubstrate stop working
PowerIcons 아니요 Crashes when tapping the icon.
PreferenceLoader
RecogniseMe
Remove Background 아니요 Crashes to safe mode
RestoreTab for Safari 아니요 Crashes Safari.
Running Indicator 아니요 Icons don't glow.
Safari Download Enabler
Safari Download Manager
Safari Download Plugin 아니요 "Says ""safari cannot download this file""."
Safari Omnibar
Safari UniBar
SBSettings
SBVolume
ScrollingBoard 아니요
SearchEnabler 아니요 Crashes settings.app when tapping safari tab.
SemiTether 일부 Works but crashes weather and youtube app after boot no pc.
ShakeToUndo Killer
SimpleAlert
Sleipnizer for Safari
Sleipnizer Lite for Safari
SlideAway 아니요 Causes safe mode.
SmoothBoard
SpotEnhancer 아니요
SpotRemover
SpringBot 아니요 Crashes when opening.
SpringClean 아니요 Causes safe mode.
Springflash
SpringJumps
SpringMe 아니요 "Blue screen, hard reboot to fix."
Springtomize 2 아니요 Message saying not compatible + safe mode.
SprintBoard
Statusgoogle for NC
StyleUnlock
Swipe for Mail
SwipeSelection
SwipeShiftCaret
Swish Unlock 아니요 Device isn't unlockable anymore.
SwitcherCleaner
SwitcherMod 아니요 Causes safe mode
SwitcherPages
Switchy 아니요 Safe mode when opening the switcher.
syslogd
Tab+ 아니요 Still 8 Tab limit.
TapVolumeToMute 아니요 No effect.
Termfile
Tetherme
TidySpring
Torch
Transmission
UnFolder 아니요
UnlimTones
UnlockBright 아니요 Causes safe mode.
UnlockFX 아니요 Causes safe mode.
Unlockize 아니요
User Agent Faker 아니요 Safe mode when tapping applications in settings and no effect.
Veency 아니요 "Connection refused, needs Libstatusbar."
VolumePaging
WeatherIcon 아니요 Causes safe mode.
Webscrollian
WebSpot
Weekillbackground Pro 아니요 Resprings
WeekInCal by Swirly 아니요 Causes safe mode.
WeeLoader
WeeSpeeddial for NC
WeeToolbox for NC
Wifi Analyzer
Wifi Booster 아니요 Crashes Settings.app.
Wifi Passwords
Wifi Shortcut 아니요 White screen when opening.
Winterboard
Wraparound
Zephyr
ZoomIsBack!

관련 글타래


  1. 개인적으로 가장 불필요한 기능이었다. 그런데 의외로 국내 사용자 중 이 기능에 목을 매는 사람이 많았다. 
  2. 안드로이드는 런처만 바꿔도 UI가 확 바뀐다. 안드로이드폰의 장점은 시스템 API를 이용할 수 있다는 점이다. 물론 이 점은 동전의 양면처럼 안드로이드폰의 단점이기도 하다. 
  3. IconSupport 파일을 따로 받아 설치해야 한다.