아이팟 터치도 아이폰과 비슷한 방법으로 JailBrake가 되었더군요;
맥 OS 기반에서 Third Party 어플리케이션을 iPod Touch에 깔수 있도록 도와주는 프로그램이고
아이폰용으로 나온 Third Party 어플리케이션중 일부를 쓸수 있다고 합니다.
( 몇몇개는 안된다더군요 )
아래글은 클리앙에서 보고 원 저작자 님께 스크랩 해간다고 말씀드리고
아랫 출처에서 스크랩 해온 내용입니다.
문의는 아래 원 저작자 님께 하시면됩니다.
출처 : http://tagnee.tistory.com/entry/jailbreak-iPod-Touch-Step-1
http://tagnee.tistory.com/entry/jailbreak-iPod-Touch-Step-2
http://tagnee.tistory.com/entry/jailbreak-iPod-Touch-Step-3
http://tagnee.tistory.com/entry/jailbreak-iPod-Touch-Step-4
==================================================================================================
* 주의!!! : jailbreaking으로 인한 모든 결과와 책임은 사용자 본인에게 있음을 유념하십시오!!!
(사용자에 의한 F/W 조작 및 손상은 무상 서비스의 대상이 아닌것으로 알고 있습니다.)
이 강좌는 http://www.iphonealley.com/news/iphone-v1-1-1-jailbreak-apptapp-installation-guide를
정리하여 작성하였으며 총 4단계에 걸쳐서 진행됩니다.
Step 1. : iPod Touch의 System Partition을 수정하여 쓰기가능하도록 만듭니다.
Step 2. : Installer App.을 설치하기위해 필요한 SSH/SFTP를 iPod Touch에 설치합니다.
Step 3. : Installer App.을 설치합니다.
Step 4. : Installer App.의 동작을 확인하고 Home Screen에 버튼을 등록합니다.
자 그럼 시작해 볼까요? ^^
(편의상 존칭은 생략하였으니 양해 바랍니다.)
- 준비물
1. Intel based Mac (Mac OS X)
2. Wi-Fi Network
3. Unix 상식
4. 도전 정신(?)
- Start!!!
1. TIFF exploiting
Home Screen에서 Safari를 실행한다.
주소창에 아래 사진과 같이 jailbreak.toc2rta.com을 입력하고 Go 버튼을 누르면 웹페이지를 로딩하는 듯 하다가 Safari가 갑자기 종료되며 Home Screen으로 돌아온다.
(jailbreak 배포처에 따르면 TIFF exploit을 사용하여 OS X Filesystem에 접근 가능하도록 하였다고 하는데 이 과정이 TIFF exploiting 인것 같습니다.)
2. jailbreak용 App. 준비
아래 링크에서 iPHUC 패키지를 Download하고 Desktop (바탕화면)에 zip을 해제한다.
iphonefs라는 빈 폴더, fstab 파일 그리고 iphuc 실행 파일이 바탕화면에 생성된다.
=> http://rapidshare.com/files/61505779/Desktop_-_Jailbreak.zip.html
아래 링크에서 libreadline 라이브러리를 Download하고 Macintosh HD에 zip을 해제한다.
Macintosh HD는 바탕화면 우측 상단에 위치하고 있으며 Mac OS X이 설치된 시스템 HDD이다.
(사용자의 설정에 따라서 드라이브 이름이 Macintosh HD가 아닐수도 있습니다. 전 MacBook으로 바꿔서 사용중입니다. ^^)
이 드라이브는 Filesystem의 / (root)와 같은 역할을 하기 때문에 여기에 풀린 opt 폴더의 절대경로는 "/opt"이다.
=> http://rapidshare.com/files/61509655/opt.zip.html
3. Download System Partition Image
터미널 App.을 실행하고 "cd ~/Desktop"을 입력하여 Desktop폴더로 이동한다.
"./iphuc"를 실행하면 아래와 같은 화면이 표시되고 "(iPHUC) /:"라는 prompt가 표시된다.
"getfile /dev/rdisk0s1 iphonefs/rdisk0s1 314572800" 명령을 실행하여 iPod Touch의 System Partition을 Download한다.
이 명령에 의해 약 300MB의 System Partition의 Image가 Desktop의 iphonefs 폴더에 rdisk0s1 파일로 저장된다.
System Partition이 4Kbyte 단위로 Download되는 과정이 표시되고있다.
Download Complete!!!
Download된 파일의 정보 (getfile에서 인자로 314572800을 주었기 때문에 딱 그 크기의 파일이 생성되었군요.)
4. Modify System Partition Image
Download된 파일명 뒤에 .dmg를 붙여 파일명을 수정한다.
mount를 기다리고 있는 iPod Touch의 System Partition Image
Image 파일를 더블클릭하여 mount 한다.
(이런!!! 그냥 평범한 Unix Root Filesystem 이군요!!!)
etc 폴더로 들어간다.
etc 폴더의 fstab 파일을 Desktop에 있는 fstab으로 교체한다.
Unix를 다뤄본 사람은 알겠지만 fstab 파일은 Filesystem들의 마운트 속성(디바이스, 마운트 위치, 접근권한)을 설정한다.
Desktop의 fstab 파일을 열어보면 원래 System Partition의 fstab 파일과 달리 "/private/var" 위치에 마운트 되는 "/dev/disk0s2" 디바이스를 "rw" 권한(Read, Write 가능)으로 설정하고 있다.
즉, 지금 진행하고 있는 jailbreak의 핵심은 이것으로서 기본적으로 Read-Only로 설정된 Filesystem을 Read-Write로 변경하여 Third Party App.들을 설치가능하게 한다.
5. Upload Modified System Partition Image
mount된 System Partition Image를 unmount하고 터미널에 아래 명령을 실행한다.
"putfile iphonefs/rdisk0s1.dmg /dev/rdisk0s1"
수정된 System Partition Image를 전송하고 있다.
(getfile 명령과는 달리 별다른 화면의 변화가 거의 없고 속도고 빠릅니다.)
Upload Complete!!!
6. Reboot iPod Touch
좌측 상단의 sleep/wake up 버튼과 하단 중앙의 Home 버튼을 같이 누르고 있으면 약 3초후에 아래와 같은 화면이 표시된다.
화면위에 표시된 빨간 화살표 버튼을 오른쪽으로 밀어 iPod Touch를 완전히 끈다.
완전히 꺼지면 다시 sleep/wake up 버튼을 아래 화면처럼 사과 마크가 표시될 때까지 눌러서 켠다.
반가운 Home Screen ^^
그런데......
iTunes에서 방금전까지 잘 사용하던 iPod Touch를 처음 인식하는 것처럼 표시한다.
(떨리는 군요. 뭔가 잘못되지나 않을까......)
"취소"를 눌러서 인식하지 않도록 해준다.
iTunes의 요약 정보를 보면 16GB iPod Touch를 겨우 300MB 짜리고 인식하고 있음을 보여준다.
이것으로 유추해보면 iPod은 OS를 탑재하는 System Partition과 Media 파일 저장하는 Media Partition으로 나뉘어 있고 평소에 요약정보에서 표시되는 것은 Media Partition임을 알수 있다.
위와 같이 표시 되는 것은 제일 처음 Safari에서 실행한 TIFF expoiting에 의해 Media Partition은 숨겨지고 System Partion이 대신 노출된 것이기 때문이다.
(자, 일단 정보사항 정도로 알아두고 무시합시다.)
Step 1.에서는 iPod Touch의 System Partition을 Read Only에서 Read-Write가 가능하도록 수정하였다.
Step 2.에서는 iPod Touch에 SSH/SFTP/SCP를 설치하여 Installer.app를 설치하기 위한 기반을 만들어 준다.
- Start!!!
1. SSH 설치 준비
아래 링크에서 SSH 설치를 위한 iNdependence App.를 Download 한다.
=> http://independence.googlecode.com/files/iNdependence_v1.2.1a_bin.dmg
다운로드한 Image를 더블클릭하여 mount하면 아래와 같은 폴더와 App.이 나타난다.
2. SSH 설치
"iNdependence"를 더블클릭하여 실행한다.
아래와 같은 화면이 표시되면 "SSH" 탭을 선택하고 "Install SSH/SFTP/SCP"를 클릭하여 iPod Touch에 SSH/SFTP/SCP을 설치한다.
(빨간색 글씨으로 jailbreak가 필요하다고 명시하고 있습니다. 즉, Step 1.이 문제없이 완료되어야 합니다.)
다음과 같은 화면이 표시되면 iPod Touch를 완전히 껐다가 켠다. (Step 1.의 마지막 과정과 같이......)
또 껐다가 켠다.
(시키는대로 해줍니다. ㅡㅡ;;;)
설치 성공!!!
Step 3.에서는 다양한 Third Party App.들을 Install/Uninstall/Update해주는 Installer App.을 설치한다.
- Start!!!
1. iPod Touch에 할당된 IP Address 확인
Home Screen -> 설정 -> Wi-Fi -> 연결된 AP의 SSID의 오른쪽 화살표를 터치하면 다음과 같은 화면이 표시된다.
(이 iPod Touch에 할당된 IP Address는 192.168.0.208이군요.)
2. SSH 접속
터미널에 "ssh -lroot IP-Address"을 입력하여 iPod Touch에 접속한다.
IP-Address에는 1.에서 확인한 값을 입력한다.
RSA key를 분배 받고 접속을 계속하겠냐고 물어오면 "yes"를 입력한다.
Password를 물어보면 "alpine"을 입력한다.
두둥!!! Root Shell의 등장!!!
Root Shell은 Unix 유저가 System을 완전히 장악했다는 것을 의미한다.
즉, 적당한 도구(vi, emacs 같은 editor, gcc등의 compiler)가 주어진다면 유저의 능력에 따라 무엇이든지 할 수 있는 환경이 제공된 것이다.
(Linux도 Linus Torvals가 Kernel을 개발하고 editor와 compiler를 porting하자 그 이후 개발은 날개를 달기 시작했죠.)
ls, whoami 같은 기본적인 외부명령(External Command)도 실행되지 않는다. (pwd는 Shell Command이므로 문제없이 실행된다.)
외부 명령을 찾질 못하는 것을 보니 PATH 설정이 안되어 있거나 용량 최적화를 위해 필요없는 파일들은 죄다 삭제한 모양이다.
(하긴 보통 User들이 SSH로 접속해서 이런짓(?)을 할리없으니......)
3. SFTP 접속
FTP Client 중 SFTP (Secure FTP) Protocol을 지원하는 App.을 사용하여 아래와 유사하게 설정하고 iPod Touch에 접속한다.
(저는 Yummy FTP를 사용했습니다.)
아래와 같이 iPod Touch의 Root 디렉토리가 표시된다.
4. Upload Installer App.
다음과 같이 폴더명을 변경한다. (대소문자를 정확히 지켜야 함)
Media -> Media_sym
Mediaold -> Media
아래 링크에서 AppTapp Installer 패키지를 Download하고 zip을 해제한다.
=> http://www.nullriver.com/~zigzag/AppTappInstaller.zip
zip이 해제되면 "AppTapp Installer"라는 App.가 생성되는데 오른쪽 마우스 버튼을 클릭하여 "패키지 내용 보기"를 선택한다.
Contents -> Resources 폴더에 있는 Installer.app (.app 확장자는 설정에 따라 보일수도 있음) App.를 아래와 같이 iPod Touch의 "/Media_sym/Applications" 폴더에 Upload 한다.
5. 실행 권한 부여
2.에서 접속한 SSH Root Shell에서 아래와 같이 입력하여 /Applications/ 폴더의 하위 모든 파일들에 실행권한을 설정한다.
"chmod -Rf +x /Applications/"
Step 3.까지 문제없이 진행하였다면 사실상의 설치작업은 끝난것이다.
Step 4.에서는 Home Screen에 Installer 버튼을 등록하여 Third Party App.들을 손쉽게 관리할 수 있도록 한다.
- Start!!!
1. Execute Installer App.
SSH Root Shell에 아래와 같이 입력하여 Installer App.을 실행한다.
"/Applications/Installer.app/Installer"
지금까지의 과정이 정상이라면 아래와 같은 화면이 iPod Touch에 표시된다.
SSH Root Shell에 Ctrl + C를 입력하여 Installer App.을 종료한다.
2. Home Screen에 Installer App. 버튼 등록
Safari를 실행하고 주소창에 아래와 같이 입력한다.
"conceitedsoftware.com/iphone/beta"
아래와 같은 화면이 나타나면 Yes 버튼을 터치한다.
다시 SSH Root Shell에서 아래와 같이 입력하여 Installer App.을 실행한다.
iPod Touch에 아래와 같은 화면이 표시되면 우측 하단의 "Refresh" 버튼을 터치한다.
Software Packages의 Refresh가 완료되면 System Category에 "Trip1PogoStick"가 보인다.
해당항목을 터치하고 설치한다.
5. Reboot iPod Touch
Step 2.에서 언급했던것과 같은 방법으로 iPod Touch를 완전히 껐다 켜면 Home 스크린에 푸른색의 Installer 버튼이 보일것이다.
아래 사진은 Installer를 실행하여 Terminal App.까지 설치된 결과를 보여준다.
6. Terminal App. 실행 화면
아래는 Installer를 통해 설치한 Terminal App.에서 "uname -a" 명령을 실행한 결과를 보여준다.
(iPod Touch는 ARM 기반이며 Mac OS X과 마찬가지로 Darwin Kernel을 사용하고 있군요.)
댓글