블로그 이미지
안녕하세요~ iolate(isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (163)
Server, Cloud (7)
끄적끄적 (6)
Linux, Ubuntu (23)
개발질 (45)
Mac (18)
iOS (23)
IoT (15)
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (7)
비공개글 (0)
Total613,017
Today2
Yesterday175

수정할 내용이 많아서 좀 많이 갈아엎었음.



If you are not Korean,

just read this

http://pastie.org/8372228


+

/var/mobile/Documents/com.apple.springboard.settings/RootSettings.plist

is just settings saved file.

so I think if find a way for enabling [ isInternalInstall], it will work without tweak.

but maybe, still need jailbreak.. :(


=================




6월 10일, iOS7 베타1 이 공개되고 8일 후인 6월 18일,

@hamzasood 란 사람이 iOS 내부를 건드려서 찾아냈다는 SpringBoard 내부 설정.

폴더 안 폴더, 애니메이션 속도 조절 등 다양한 옵션이 있으며 이를 동영상으로 찍어 보여주기까지 했다.

특이한 건 설정 앱 내에서가 아니라 볼륨 버튼으로 SpringBoard 위로 불러온다.


처음 사람들 반응은 긴가민가,

시뮬레이터라는 둥 뭐 이런저런 가정이 많이 나왔지만 그때마다 다양한 동영상으로 증명해 보였다.

며칠 후 트위터를 통해 어떻게 활성화하는지에 대해 알려줬으나 ( http://pastie.org/8067977 )

작동된다는 사람은 아무도 없다...

(관련 포스트들:

http://briansweet.me/blog/ios-7-internal-settings-thoughts-and-information/

http://forums.macrumors.com/showthread.php?t=1599198 

참고로 포럼글은 댓글이 4페이지 까지 있다.)



아이폰4를 iOS7 으로 올리기도 했고, 탈옥도 했으며 잠깐 이것저것 해보니

저게 존재한다는 건 분명해서(내부 파일이나 클래스 등) 나도 저걸 시도해봤다.


처음엔 저 pastie 글을 못 찾아서 나 혼자 이것저것 시도하면서 알아낸 게 꽤 있었는데 저 글 하나로 도로묵..ㅠㅠ

처음에 SpringBoard 에 트윅이 안돌아가는 줄로만 알고 있어서 이래저래 삽질을 했었다..


hamza sood 가 설명하는 활성화 방법을 해봤었으므로,

이것과 관련한 내용부터 쓰겠지만, 사실 이건 내부 설정 활성화 자체만을 원하는 사람에겐 필요없는 부분이고

이 부분 때문에 헷갈려 하는 사람도 있는 것 같아서 접어 놓겠음. ㅋ


삽질의 과정.. 정도이고 지금 좀 더 이해하고 싶으면 펼쳐볼 것...


더보기



https://vine.co/v/hgJuTKHp63U

요건 호출 하는 vine 동영상이고


http://pastie.org/8372228

요건 외국인들 용으로 써논 글..

인데 별 내용 없다.

지금 이 글을 상당히 수정한 마당에 저 글에도 오류가 있을 거고...


아, 내부 설정 활성화 방법은

deVbug 님이 HiddenSettings7 이란 트윅을 만들어서 개인 저장소로 배포중이니 그걸 사용하면 좋다.

얘는 컨트롤 센터에서 호출하는 방식. 오픈소스이기도 하고..


검색ㄱㄱ

Posted by iolate

iOS7 아이폰4 반탈

iOS/기타 / 2013.10.01 19:06

0. 서론


(limera1n exploit 덕택에 모든 os 에서 반탈이 가능한) 아이폰4의 반탈툴이 나왔다.

이걸 부트룸 익스플로잇이라 하던가...?

이제 4가 지원 안 하는 os 가 생기면 이래저래 불편해질 것 같기도 하다..

펌웨어 추출부터가 안될테니...


여튼 opensn0w 라는 툴로 iOS7 에 올린 4를 반탈옥 할 수 있다.

아직 이런저런 문제가 많아서 직접 컴파일해서 써야하지만...


과정을 주욱 써봤는데..

마지막을 제하고는 devbug 님 과정을 따라간다.

내용이 좀 길어져서 나름 차례도 나눠봤고...


opensn0w의 주소는 https://github.com/winocm/opensn0w


구글 검색하면 LBBNetwork 것이 먼저 뜨지만 위가 원본인 것 같다.

하지만 맥에서 그대로 진행하기에는 문제가 많고 리눅스에서나 제대로 작동한다나....


devbug 님이 맥에서 작동하게 수정하셨으니 그걸 사용하자.

http://devbug.me/777


그리고 이건 맥에서 작동되기 전에 원래 작성하셨던 글.. 후반부 작업을 위해서 봐야 함

 http://devbug.me/775


지금부터는 내가 다시 정리한 글이다.


1. 탈옥툴 컴파일 + 탈옥


일단 뎁벅님이 친절히 diff 파일 뿐만 아니라 과정을 녹화해주셨다!!

그 영상의 내용 정리 + 내가 조금 수정 ㅋㅋ


$ mkdir ~/opensn0w-build

$ cd ~/opensn0w-build/

$ git clone https://github.com/winocm/opensn0w

+ devbug 님 블로그에 있는 opensn0w3.diff.zip 파일을 받아서 압축 해제 후 ~/opensn0w-build/opensn0w/ 에 넣어준다.

$ cd opensn0w

$ patch -p1 < opensn0w3.diff

...

$ chmod +x ./autogen.sh

$ ./autogen.sh

+ 혹시 여기서 에러나면 automake 등을 설치해줘야 한다.

homebrew 가 설치되어 있으면 $ brew install automake 하면 됨.

homebrew 없으면 설치하든지 뭐 알아서... 난 brew를 설치해놨었기 땜에 brew update 정도만 해주고 진행했음

...

$ ./configure --prefix="/Users/사용자명/opensn0w-build/"

...

$ make install

...


여기까지 별 에러없이 왔으면 ~/opensn0w-build/ 폴더 안에 이것저것 많이 생겨있다.

아이폰4 를 iOS7 으로 올리고(7.0, 7.0.2 상관 없다) dfu 모드로 진입 시킨다.


$ cd ..

$ sudo ./bin/opensn0w_cli -p ./bundles/iPhone3,1_7.0_11A465.plist

...


기다리면 탈옥 끝~

반탈이니 재부팅시에도 마지막 작업만 해주면 된다.

국내 출시 아이폰4 가 아니라면 bundles 폴더 안에 다른 기종 plist 도 있으니 그거 사용하면 됨.




2. SSH 설치


여기까지가 끝인 줄 알았는데 아직 많이 남았다..ㅠㅠ

http://devbug.me/775  이 글 뒷 부분을 따라가야 한다.


dev team에서 예전부터 배포해오던 SSH Bundle

이 링크 하단 부분에 "SSH bundle v2" 를 다운로드,


http://msftguy.blogspot.kr/2012/01/aut ··· and.html

이 링크에서는 "runnable JAR archive" 를 다운로드.


폰을 dfu 모드로 진입시키고 jar 파일을 실행하면 얘가 이것저것 한다.

끝나면 localhost:2022 로 ssh 접속이 가능함.

mount.sh 도 제공하는 것 같지만 잘 모르겠으니 그냥 devbug 님 하시는대로 따라갔다..ㅋㅋ


Mac $ ssh root@localhost -p 2022

Password: alpine

iPhone # mount_hfs /dev/disk0s1s1 /mnt1

(램디스크 작업이 뭔진 모르겠지만 쉘이 좀 다르다.. 걍 하라는대로 하자 ㅋㅋ)

+ 위에서 받은 SSH2_bundle.tgz 파일을 /mnt1/ 에 전송

+ SSH2_bundle.tgz 을 컴퓨터에서 압축 푼 후 bin 아래의 gzip, bzip2, tar 3개를 아이폰의 /bin/ 에 전송

# cd /mnt1

# tar xzf SSH2_bundle.tgz


그리고 마지막으로 /mnt1/etc/fstab 파일 수정.


/dev/disk0s1s1 / hfs rw 0 1

/dev/disk0s1s2 /private/var hfs rw 0 2


요렇게 바꿔주면 된다.


# kill 1

+ 실행한 jar 종료, 아이폰 dfu 진입 후 위 탈옥 작업 마지막 부분을 해주면 부팅 된다.




3. 탈옥 마무리(dpkg, apt)


이 부분부터는 devbug 님이 제대로 안 적어두시기도 했고, 방법이 다르다.

devbug 님의 경우 패키지들 다운그레이드를 해야한다고 하셨는데 난 그런거 안했음;;;ㅋㅋ


dpkg와 apt 등이 제대로 작동하지 않을텐데,

그 이유는 2번 ssh  설치에서 /private/var/ 부분을 마운트 해주지 않고 압축을 해제해서

해당 부분의 파일이 제대로 복사되지 않아서 생기는 문제이다.

나도 나중에 알았는데.. 위에서 마운트 해주고 압축풀면 되겠지만 난 이미 끝났으므로 따로 붙여넣었다.

아마 mount.sh 스크립트를 사용하면 둘다 마운트 될 것이고 그 후에 압축을 풀면 되겠지?


여튼 이걸 따라왔으면 SSH2_bundle.tgz 압축 푼 파일들에서 /private/var/ 안에 있는 파일들을 아이폰의 /var/ 로 넣어주면 된다.

참고로 폴더채로 붙여넣으면 안된다.

없는 폴더이거나 빈폴더면 상관없지만 폴더에 내용물이 있으면 내용물만 따로 복사해주자.


이 후 dpkg, apt 등이 "거의" 잘 작동한다.

하지만 설치하다 보면 firmware 필드 부분 때문에 막힌다.


/var/lib/dpkg/status 파일을 수정,


Package: firmware

Essential: yes

Status: install ok installed

Priority: required

Section: System

Installed-Size: 0

Architecture: iphoneos-arm

Version: 7.0.2

Description: almost impressive Apple frameworks

Tag: role::cydia

Name: iOS Firmware


이걸 적당히 위화감 없이 잘 넣어준다.

아직까지도 "거의" 잘 작동한다. ㅋㅋ

마지막으로


# apt-get update

# apt-get install cydia

# apt-get update


여기까지 하면 끝.


cydia 는 어차피 실행되지 않지만 깔아주는 이유는 소스 때문에..

설치하지 않으면 몇몇 패키지들을 못 찾는다..

cydia source 패키지가 따로 있는 걸로 아는데 이것만 따로 설치해줘도 될 것 같다.

cydia 또한 직접 수정하면 실행 시킬 수 있는 것 같다. devbug 님은 하셨고...


cydia 는 실행이 안되지만 ifile 은 잘 된다.

참고로 cydia, iFile 등 앱 설치 후 아이콘이 나타나지 않는데 uicache 도 안먹는다.

devbug 님이 쓰셨듯이, /var/mobile/Library/Cache/ 폴더 날리고 재부팅+탈옥 작업을 해주면 나타난다.




4. 소감(?)


UIKit, SpringBoard 에 트윅이 작동하지 않는건 알고 있었지만

cycript 의 작동 여부와 SimulateTouch 정도를 테스트 해볼려고 탈옥을 진행해 봤다.

결론은 시간 낭비.


cycript 는 Segmentation fault: 11 을 내뱉으며 안되고

SpringBoard, UIKit 뿐만 아니라 backboardd 에도 트윅이 안 붙는다.

고로 내가 만든 트윅 중에선 테스트 해볼 수 있는게 없음...ㅋㅋ


SpringBoard, backboardd 에 후킹된다.

UIKit 으로 다 붙이는건 확인 안해봄.


나 혼자 쓰는 것 중 특정 앱에만 붙어서 돌아가는건 잘된다.

단지 /var/mobile/Library/Keyboard/ 가 sandbox 를 벗어날 수 있는 폴더라 해서 사용했었는데,

파일을 읽어오지 못한다. 탈옥 툴의 문제인지 iOS7 의 변경사항인지는 잘 모르겠지만..

내 착각이였음ㅋ 잘됨ㅋ

Posted by iolate

iOS7, 벡터 아이콘?

iOS/기타 / 2013.09.22 20:39

iOS7 벡터 아이콘 소문의 시작은 ZDNet Korea의 

iOS7, 살아 움직이는 시계 앱의 비밀

라는 기사..


저게 시작인지 아닌지는 잘 모르겠지만,

iOS7 부터 아이콘이 벡터라는 말이 계속 보인다.

현재 디자인도 벡터에 좀 더 적합하다나 뭐라나...


신기한건 이 논쟁은 한국에만 있다.

영어로 검색하면 아이콘이 벡터로 바뀌느니 마니 하는 내용은 전혀 없음..


시계를 돌리기 위해서 벡터로 바꾼다는 소리가 너무 어이가 없어서 이 글을 써 본다.


우선 본론으로 가기 전에 저 기사에서 기자가 도대체 어떻게 알아낸 건지 이해할 수 없는 부분.


앱 아이콘의 테두리를 자동으로 둥글게 깎아 보여주는 처리 방식도 비트맵에서 벡터 방식으로 바뀐 것으로 알려졌다.


솔직히 자세히 모르겠고 알아볼 생각도 없지만

아마 마스크 이미지를 씌우고 테두리는 imageView layer 에서 둥글게 깍을 것이다.

iOS7 에서도 icon 을 보여주기 위해서 image view 를 이용하므로 딱히 달라질 부분은 없을 듯.

즉 비트맵인지 벡터인진 모르겠고 어차피 원래부터 cpu 연산 처리로 테두리를 깍아 왔다.

저런 내부적인 내용을 이런 기사나 쓰는 기자가 어떻게 알았는지 의문.. 그냥 지레짐작인건가...



여튼 본론으로 돌아와서, 말도 안되는 소리의 시작...


iOS7 시계 앱 아이콘의 바늘은 시시각각 움직인다. 이를 비트맵으로 처리하려 했다면 모든 시계바늘의 위치를 고려한 '경우의수'만큼 많은 아이콘 이미지가 필요하다. 실제 그런 식으로 처리됐던 iOS 앱 아이콘이 바로 '캘린더'다. iOS 캘린더 앱은 과거에도 7가지 '요일'과 31가지 '일자'를 실제 시간에 맞춰 보여줬다. 

 

캘린더 앱은 많아야 217가지 조합이지만



캘린더 앱은 이런 아이콘을 가지고 있다. 참고로 실제로 iOS6의 캘린더 앱에서 추출한 파일이다.

저 아이콘 위에 날짜 레이블만 입혀주는 형태.

217가지 각각 이미지를 다 만드는 짓은 아무도 하지 않는다..


마찬가지로 시계도 실시간으로 시간을 보여주기 위해서 비트맵을 사용하면 엄청난 경우의 수가 나오기 때문에 벡터로의 전환을 한다고 하는데 그럴 필요가 전혀 없다. (iOS6 상에서도 시간을 실시간으로 움직여주는 트윅이 있기도 했고.)


컴퓨터 상에서 시간을 움직이는 방법도 집에 있는 시계와 다를 바가 전혀 없다.

시계 바탕에, 시침, 분침, 초침을 얹이고, 가운데 축을 기준으로 계속해서 돌려주면 된다.

비트맵 이미지로도 충분히 가능한 작업.

그러니 이걸 위해서 벡터로의 전환이 필요한게 아니다.


그리고 저 기사 때문에 많은 사람들이 벡터 아이콘이 도입되는 걸로 알고 있다.

그래서

http://www.clien.net/cs2/bbs/board.php?bo_table=cm_iphonien&wr_id=1350230

이런식의 플라시보 효과(?) 를 경험한 것 같은 사람들의 글도 올라오고 있고...


나 또한 워낙 많은 사람들이 벡터, 벡터 해서 기본 내장 앱이라도 벡터를 쓰는지 의심했었다.

그래서 방금 iOS7 펌웨어를 뜯어봤는데,



 .....여전히 앱스토어를 비롯한 내장 앱들은 해상도에 맞춰서 .png 파일을 가지고 있다.

즉 기본 내장 앱들도 여전히 비트맵 방식의 아이콘을 사용하고 있다.



iOS7 시계의 경우 썸네일용 이미지 말고는 이미지를 찾아볼 수 없어서 SpringBoard 를 뜯어봤다.



이 클래스로 시계 아이콘을 그려준다.

cpu 연산으로 시계 앱을 그려주는건 맞는데... CALayer 는 비트맵 이미지를 그려주는 클래스이다.

이런 경우를 벡터로 부르는지, 비트맵으로 부르는지 솔직히 잘 모르겠다.

선, 두께 등의 정보로 레이어를 만들어 주는거니 벡터가 맞는건가...


솔직히 난 비트맵이고 벡터고 정확히 어떻게 구분하는건지 잘 모르겠다.

벡터 데이터로 결과적으로 비트맵을 표현하는 거니까....

하지만 이걸 벡터라 부른다 할지라도 난 이것만으로 애플이 아이콘을 벡터로 전환하려 한다고 하기엔 많이 무리가 따른다고 생각한다.

고작 시계 앱 하나니까...


만약 애플이 정말로 벡터 데이터만을 가지고 앱 아이콘을 표현하는 걸 지원한다고 해도 그건 아마 해상도 문제보다는

디바이스 별로 다른 해상도에 맞춰 다 만들면서 용량이 증가하는 문제를 해결하기 위해 도입할꺼라 생각하는데,

이것도 가능성이 낮다고 생각한다.

생각해보니 아이콘만은 용량 차지도 얼마 안한다.. 모든 리소스의 벡터화를 생각했는데

이건 말도 안되기도 하고, 딱히 애플의 지원이 필요없기도 하고....

 

여튼 그래서 기기 별로 리소스를 따로 받는 방법을 지원하는게 훨씬 맞는 방법 같거든...


비트맵이고 벡터고 이건 잘 모르겠고,

여튼 이 글을 통해 내가 말하고 싶은건


1. 비트맵이라고 해서 캘린더나 시계를 표현하기 위해 수백 수천 가지의 이미지가 필요한 건 아니다

2. 애플의 내장 앱들은 여전히 비트맵 이미지를 사용한다.



ps, 비트맵, 벡터 관련해서는 잘 모르니 헛소리가 있을 수도 있음. 고로 태클 환영합니다~ ㅋ

Posted by iolate

다른 일 때문에 삽질한게 있어서 간략히(쓰고 보니 난잡) 적어봄.


내 필요에 의해서 한건 아니고 남이 부탁해서 시작한건데 생각보다 꽤나 멀리왔다..;; ㅋㅋㅋ
그 사람이 왜 필요한건지는 아직까지 미스테리....

IMEI, 시리얼넘버 등을 바꾸는게 필요했는데 실제로 완전히 바꾸는건 필요없고 그냥 보이는 것만 바꿔도 되는거였음.

(뭐 보이는걸 바꾸기 위해 통신시에 실제 사용되는 IMEI까지 바꿔보긴 했지만)

우선 IMEI 기준 진짜로 바꾸지 않고 보이는 곳만 바꿀려고 시도했다.

난 속이는게 목적이지 바꿔 쓰는게 목적이 아니였으니..
무엇보다 저거 바꾸면 위법이다 ㅋㅋ

저들이 보이는 곳이라면
1. 설정앱 - 정보
2. 전화 - *#06# (IMEI)
3. iTunes 연결시 뜨는 정보
정도이다.

이중에 1번, 설정앱은 테이블뷰를 후킹함으로써 간단히 바꿀 수 있고, 그게 아니라도 IOKit 에서 값을 가져올때 바꿔주면 된다.(후자는 말이야 쉽지 직접 해볼려면 고생은 할거다 ㅋㅋㅋ 요건 밑에서 다시 말할거임)

여튼 문제는 2, 3번. 둘다 그때그때 가져오는게 아니라 lockdownd 가 최초로 가져오고, 그 값을 계속 돌려쓰는 것 같다. (사실 2번의 경우는 그럴 것이라 추정)

2번 *#06# 은 통화앱에서 다이얼하면 SpringBoard 에서 뷰를 띄우므로, 이것도 적당히 후킹가능.
CoreTelephonyUI.framework 의 클래스를 후킹했다.

3번 아이튠즈는, 아이폰에서 데이터를 가져가는 부분에서 가로챌려 했는데 어느 데몬이 아이튠즈와 통신하는지 찾지를 못했었다 ㅠㅠ
ptpd 라는 녀석이 (이름에도 불구하고) 데이터를 교환하는 것 같아서 삽질해봤는데 역시나 이름만큼의 역할만 하는듯...;;ㅠ
결론은 이 녀석도 lockdownd...

이렇게 하다보니 진짜 사용되는 IMEI 를 바꾸는 과정까지 와버렸다..

IMEI는 CoreTelephony 에서 가져올 줄 알았는데

왠만한 프로세스에서 시리얼, IMEI 등의 정보를 모두 IOKit 이나 lockdownd 으로부터 가져온다.


그래서 각 프로세스 들에서 IOKit 으로 부터 하드웨어 정보를 읽어오는 부분, lockdownd 에서 정보를 가져오는 부분.

그리고 마지막으로 혹시 모르니 CoreTelephony 까지 후킹해주면 폰에서 사용하는 IMEI 가 완전히 바뀐다.


USB 연결시 아이튠즈에서 보이는 IMEI와 시리얼 까지 바뀌고.


나의 경우엔 lockdownd, Preferences 정도만 후킹하고 패쓰~

맥어드레스는 블투, 와파를 같은 키 값으로 가져오는 문제가 있던데 따로 옵션이 있거나, 와파 맥어드레스의 경우 터미널 커맨드로 변경이 가능하니 그거를 하자.. ㅋㅋㅋ



여기서 문제는.......

IMEI 를 바꿔버리면 폰 사용이 불가능해 진다!!!

폰 복원 직후에 액티베이션 하는 화면(유심 넣으라는 부분)들을 모두 별 생각없이 지나가겠지만, IMEI를 바꾸면 저 화면을 다시 만날 수 있다.ㅋ
(시리얼만 바꿔도 저 화면으로 빠지는지는 확실하지 않다 하다가 형한테 컴터자리 쫓겨나서 ㅋㅋ)
다행히, 원상태로 돌리면 iCloud 설정 정도만 다시하고 재사용이 가능해지지만, IMEI를 바꾸면 실질적인 폰사용이 안된다는 소리...
아이러니한건 예전에 쓰던 3gs IMEI를 테스트중이던 4에 넣어봤는데 그래도 안되더라. 바꾼 시리얼 때문인지.... 확실한건 좀더 해봐야 될것 같다.

핵티베이션도 안해봤다. 아마 핵티베이션 하면 인증화면은 통과할 것 같은데, 그 후에 폰 사용은 당연히 안되겠지...?


좀만 더하면 성공할 것 같긴한데 잘 모르겠다.
어차피 내 목적은 눈속임 만이라서, lockdownd 만 건드려서 아이튠즈의 값을 바꾼다거나..

(전화 앱은 따로 후킹해서 값 바꾸는데 성공했으니..)

아니면 전화 기능이 되던 말던 핵티베이션을 한다던가......

핵티베이션도 트윅으로 돌아가는 것 같던데 그거 오픈소스면 좋으련만...


문득 궁금해지는건, 저런식으로 유심이 있는것 처럼 만들어버리면, 유심이 꼽혀 있지 않아도 내 유심으로 전화가 될까....? ㅋㅋㅋ
이것도 나중에 해봐야지.....


저게 수능 98일 전에 하던 삽질 ㅋ
이거 쓰는 지금은... 85일쯤 남았던가......ㅋㅋㅋ


Posted by iolate

iOS5 기준으로는 http://blog.iolate.kr/113 에서 삽질한 적이 있다.

그런데 이게 iOS6 올라와서 부터는 바뀌었나 보다. 안된다.. ㅋ


iOS5 와 비슷해서 금방 해결은 했지만 여튼 다시 적어본다.

참고로 이 글은 네이버 애플아이폰 까페에 탈옥 먼저 하고 iCloud 백업에서 복원하기 란 글로 먼저 쓰고 다시 옮겨 적는거.


이전 iOS5 때는 쓰다가 백업에서 복원을 원해서였지만 이번엔 목적이 조금 달랐다.

Cydia File system 처리에서 한번 문제가 생겨서 생고생 한적이 있었는데 이번 탈옥이 문제가 있다는 말을 듣고

또 생고생 하긴 싫어서 탈옥 먼저 하고 복원하는게 목적.


스샷은 쓰기 귀찮으니 생략한다. 스샷도 보고 싶으면 위에 아사모 까페에 쓴 글에서 보자.



1. 복원, 새로운 아이폰으로 설정, 애플 아이디 설정은 건너뛰기

2. 바로 탈옥, 시디아 한번 실행

3. 별 문제 없으면 진행. 시디아 스토어는 이용하되, 앱스토어는 이용하지 말 것

4. 뭘 깔든 상관없다. MobileTerminal, iFile, openssh, 파일 시스템을 관리할 수 있는 앱 아무거나 깔아라.

블로그에서 쓰면서 생각해보니 깔거 없이 컴퓨터에서 ifunbox 등으로 바로 지워도 될 듯

5. /var/mobile/Library/Preferences/ 로 이동

com.apple.purplebuddy.plist

com.apple.purple~어쩌구~otbackedup.plist

이거 두개랑

com.apple.facetime~~~

com.apple.imessage~~~

com.apple.imservice~~~ 

로 시작하는 파일들을 다 지워준다

아니. 그냥 이폴더에 있는 설정파일 다 지워줘도 된다.

6. 설정앱 - 일반 - 재설정 - 모든 설정 재설정 클릭

7. 재설정 후 처음 화면이 언어 선택 화면이면 성공! 바로 와이파이 선택이 뜬다면 파일 덜 지운거다.

진행 후 파일 다시 지우고 다시 재설정 하자.

8. 이번엔 iCloud 에서 복원 선택, 애플 아이디 등도 설정

9 끗!

Posted by iolate

우선 반탈 자체가 탈옥 후에 한번 껏다가 just boot 로 켜줘야 제대로 작동하는 짜증나는 점이 존재.


여튼 iOS6 반탈하고 잘 쓰다가 reboot 하니 just boot 을 해도, 다시 jailbreak 를 해도 MobileSubstrate 가 작동안함..

(계속 해봤던 이유는 트윅들이 작동안해서 그냥 탈옥 풀린줄 알았음.)


재탈옥 하면 무한리스프링이니 그냥 껏다가 just boot 다시 해주시고, 터미널 등으로 리스프링 한번 해주면 정상작동함.



그리고 이거 하면서 Mobile Substrate 업데이트 후 재부팅시 볼륨 업 버튼을 꾹 누르고 있으면 Substrate 가 꺼진채로 켜진다는 점도 알았다 ㅋ

이거 언젠가 유용하게 써먹을 듯 ㅋㅋ

Posted by iolate

The Code Project Open License (CPOL)
1. 저작권 보호 기능을 제공한다
2. 상용 소프트웨어에서 사용 가능하다.
3. 명시적 특허권 행사가 가능하다.
4. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다
5. 버그 패치 및 기능 확장 공개의 의무는 없다
6. 라이센스 전파의 의무는 없다.

 

The Common Development and Distribution License (CDDL)
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 명시적 특허권 행사가 가능하다.
5. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
6. 라이센스 전파의 의무는 없다.

 

The Microsoft Public License (Ms-PL)
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
4. 명시적 특허권 행사가 가능하다.
5. 버그 패치 및 기능 확장 공개의 의무는 없다.
6. 라이센스 전파의 의무는 없다.

 

The Mozilla Public License 1.1 (MPL 1.1)
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 명시적 특허권 행사가 가능하다.
5. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
6. 라이센스 전파의 의무는 없다.

 

The Common Public License Version 1.0 (CPL)
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 명시적 특허권 행사가 가능하다.
5. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
6. 라이센스 전파의 의무는 없다.

 

The Eclipse Public License 1.0
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 명시적 특허권 행사가 가능하다.
5. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
6. 라이센스 전파의 의무는 없다.

 

The MIT License
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
4. 버그 패치 및 기능 확장 공개의 의무는 없다.
5. 명시적 특허권 행사가 불가능 하다.
6. 라이센스 전파의 의무는 없다.

 

The BSD License
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
4. 버그 패치 및 기능 확장 공개의 의무는 없다.
5. 명시적 특허권 행사가 불가능 하다.
6. 라이센스 전파의 의무는 없다.

 

The Apache License, Version 2.0
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 명시적 특허권 행사가 가능하다.
4. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
5. 버그 패치 및 기능 확장 공개의 의무는 없다.
6. 라이센스 전파의 의무는 없다.

 

The Creative Commons Attribution-ShareAlike 2.5 License
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 라이센스 전파를 필요로 한다.
4. 버그 패치 및 기능 확장 공개의 의무는 없다.
5. 명시적 특허권 행사가 불가능 하다.
6. 독점 프로그램(비공개 소스에서) 에서 사용할 수없다.

 

The zlib/libpng License
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
4. 버그 패치 및 기능 확장 공개의 의무는 없다.
5. 명시적 특허권 행사가 불가능 하다.
6. 라이센스 전파의 의무는 없다.

 

A Public Domain dedication
1. 상용 소프트웨어에서 사용 가능하다.
2. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
3. 저작권 보호 기능을 제공하지 않아도 된다.
4. 버그 패치 및 기능 확장 공개의 의무는 없다.
5. 명시적 특허권 행사가 불가능 하다.
6. 라이센스 전파의 의무는 없다.

 

The GNU Lesser General Public License
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 독점 프로그램(비공개 소스에서) 에서 사용할 수있다.
5. 라이센스 전파를 필요로 한다.
6. 명시적 특허권 행사가 불가능 하다.

 

The GNU General Public License (GPL)
1. 저작권 보호 기능을 제공한다.
2. 상용 소프트웨어에서 사용 가능하다.
3. 버그 패치 및 기능 확장 공개의 의무가 있다.
4. 라이센스 전파를 필요로 한다.
5. 명시적 특허권 행사가 불가능 하다.
6. 독점 프로그램(비공개 소스에서) 에서 사용할 수없다.

 

물론!! 위 내용을 신뢰 하는건 좋지만, 100% 믿진 말길바란다.

절대 책임지지 않으니 ㅎㅎ

사이트에 명시된 라이센스를 보고, 이해가 안되면 직접 통화하는 열의를 보여야 XX같은 저작권법에서 자유로워진다 ^^

Posted by iolate

iOS6 는

http://blog.iolate.kr/140

이 글에서...

단 이건 탈옥 전용..ㅎㅎ


===============================================


뭐 이러니 저러니 해도 밑에 방법보단

설정 - 재설정 - 모든 설정 재설정 이 정답(순정/탈옥 둘다)인 듯 합니다.

어플리케이션 데이터를 가져오는지 아닌지는 모르겠지만(테스트 해본다는걸 까먹었네요)

일단 앱이 설치되어있을 경우 확실히 데이터가 돌아오지 않고 유지되므로 밑져야 본전이신 분들은

iCloud 에서 데이터 복원을 원하는 앱을 삭제 후 설정 재설정을 시도해 보세요.


===============================================
===============================================


1/14 0:20 수정 - 통화기록, 메세지, 배경화면, 아이콘 배열 등은 모두 복원됬는데 응용프로그램데이터가 복원이 되지 않는 황당한 결과 발견...
백업이 삭제됬거나 데이터가 있으면 복원되지 않는다 등 여러 이유가 있을 수 있겠지만 일단은 그렇다구요...
- 해보진 않았지만 앱을 삭제후 "백업에서 복원"하는 것을 추천.. 복원완료시 알아서 다시 다운로드 시작함..

0:44 - 음악,동영상,사진 등은 이렇게 복원할 경우 정상사용이 불가능 할 수 있습니다....
아이폰 내부적으로 원파일과는 별개로 따로 리스트화 된 파일이 있는데 그거랑 안맞는지 기타용량으로 분류해 버리는 군요... 그것들이 모조리 기타용량으로 가버렸는데 동기화 후 기타용량이 사라질 지는 미지수...(지금 동기화 중) 사라집니다.

17:35 - 설정 - 일반 - 재설정 - 모든 설정 재설정
을 해도 데이터를 날리지 않고 초기화면으로 진입가능합니다. 이경우 순정도 가능하겠지요..
그런데 "새로운 아이폰"으로 설정했는데 이것도 설치한 앱의 데이터가 남아있는건 그대로네요.. 백업에서 복원은 안해봐서 모르겠습니다만....


===============================================




iOS5 가 발표되면서 새로 추가된 기능 중 하나인 iCloud.

iCloud 에는 iCloud 에 백업하기란 기능이 존재한다.
기존에 아이튠즈에 아이폰의 데이터가 저장하는 것이 아닌, iCloud 서버에 아이폰의 설정을 백업해 놓는 기능이다.
하지만 사용하다 보니 기존과는 다르게 불편한 점이 하나 있는데,

바로 처음 설정 이후에는 초기화, 혹은 복원을 하지 않으면 "백업에서 복원" 을 할 수 없단 점이다.

(내가 필요해서) 방법을 찾아보니, 생각보다 쉽게 할 수 있었다.
단점이라면, 탈옥이 필수이고... 트윅 하나를 설치해야 한다는 점?

난 결과만 쓰는걸 좋아하지 않으므로 과정도 일일히 나열할 것이지만 관심없는 사람이 많을 것이므로 접어둠..ㅠ

더보기



1. ifile 이나 터미널 등 알아서 /User/Library/Preferences/com.apple.purplebuddy.plist 를 지워주자. 왜지우는지 궁금하면 위에 과정 펴봐!


백업할 필요없다. 과감히 지워라.ㅋ


2. 그 다음 트윅하나가 필요하다..
얼마전 내가 만든 AppDialer 란 트윅을 설치하면 된다. 딱히 홍보하려고 한건 아니고.. 필요하기도 하고 내가 만든거라 젤 먼저 떠올랐으니 마땅한 대안이 없는 사람은 군말말고 시디아에서 검색해서 설치하도록 하자..
(뭐,, 내가 말하는 트윅말고도 알아서 앱을 실행시킬 다른 방법이 있으면 실행시켜라...)

 설치후 리스프링 하고 나면 스프링보드 상에 아래와 같은 AppDialer 아이콘이 생길것이다.(아이콘은 바뀔 수도 있다. 알아서 찾자..ㅋ)
설정 앱 안에 보면 AppDIaler 메뉴가 있다.





3. 실행후 다이얼, 혹은 패턴 마음에 드는 것 하나를 골라서 Activator 설정을 해주고(아무거나 해줘도 된다 어차피 한번 쓰고 말거니까.) 다이얼, 혹은 패턴 설정에서 아이템을 아무거나 하나 추가하도록 하자. 


나의 경우 다이얼, 33번으로 했다. 다이얼이든 패턴이든 아이템을 추가하고 몇번인지, 혹은 어떻게 그렸는지만 기억해두자.




4. 위와 같은 화면이 나타나면 URL 이란 부분을 누르자. 얼럿뷰가 하나 나타나서 입력을 요구 할 것이다.
 doubletap://com.apple.purplebuddy <- 공백 없이 이부분을 적어주자.
(원랜 적어둔 상태에서 스샷을 찍을려고 했는데 나중에 확인해보니 이모양;;ㅠㅠ)
오타 나지 않도록 주의~~ ㅋ



5. 완료했으면 아까 등록했던 Activator 액션을 통해 AppDaler 를 호출하자. 아마 아이템을 추가했을때와 똑같은 윈도우가 다시 등장할 것이다. 그럼 등록한 번호를 누르고 Call 버튼을 누르거나, 등록했던 패턴을 그려주도록 하자.




누르고 나면........






짠~! 설정화면이 정상적으로 떴다!!

처음 설정했던 것처럼 진행하면서 iCloud 백업에서 복원을 선택해 주자.
 

[##_http://blog.iolate.kr/script/powerEditor/pages/1C%7Ccfile6.uf@1379963C4F102C4306E494.PNG%7Cwidth=%22320%22%20height=%22480%22%20alt=%22%22%20filename=%22IMG_1662.PNG%22%20filemime=%22image/jpeg%22%7C_##]




(탈옥 후라 openSSH 가 설치되어 있어서 복원중 스샷을 찍고 파일을 빼내오는게 가능했다 ㅋㅋㅋ)



솔직히 살짝 긴가민가 했지만,

완료후 재부팅 되면서 복원 완료~!!!

복원 후에 비밀번호와 관련된 설정은 복원되지 않으니 모두 설정해주고 평소처럼 쓰면 된다.

만세~!!! 


'iOS > 기타' 카테고리의 다른 글

iOS6 반탈 MobileSubstrate 문제  (0) 2012.09.29
오픈소스 라이센스  (0) 2012.01.22
iOS5, 초기화 하지 않고 iCloud 에서 복원하기  (18) 2012.01.13
탈옥 중 기본 어플 사라짐  (2) 2011.12.19
LibActivator Setting Saving Path  (5) 2011.09.04
iPod 음악과 게임을 동시에!  (2) 2011.05.07
Posted by iolate
그냥 글로만 보던 일인데..
내폰에 일어났다...ㅠㅠㅠ

아참! 결론만 말하자면, 그냥 복원후 재탈옥이 낫다... 그리고 동기화 다시 해야 할지라도 그게 빠르다;;;ㅠ

(이 후 내용은 주저리 주저리.. 딱히 별 내용 없고 끌리는 대로 써서 안그래도 글 못쓰는데 많이 엉망이니 관심없으면 그냥 뒤로가기를 누르자..)

일단 저게 왜 일어나나면...
우선 탈옥했다면 SBSettings 등 에서 내부 메모리 용량이 System/Media 로 나뉘어져 있는 것을
본 사람도 있을 것이다.
정확히 어떤식으로 구분되어 있는건진 잘 모르겠지만, 쨋든 아이폰 내에서 파티션이 두개 나뉘어져 있다고 보면 된다.
root 에 있는 var 을 제외한 폴더들은 시스템, 그리고 /var 하위는 따로, 로 대충 나뉘어져 있는 것로 추정된다.
(별로 중요한게 아니라 딱히 확인해보고 싶은 생각도 없고 그럴 필요도 없으니 대충 넘어가자..ㅋㅋ)

일반 순정상태라면 System 부분은 건드릴 일이 없으니 크게 상관이 없다.
하지만 탈옥시 탈옥 어플리케이션과 기타 파일들이 System 용량을 잡아먹게 된다.
이 때문에 시스템 어플리케이션, 벨소리, 배경화면 등을 /var/stash 로 집어넣고 본래 위치에는 심볼릭 링크를 걸어두는 작업을 하는 것이다.
(iOS, Mac, Linux 같이 Unix 기반의 운영체제들은 링크라도 일반 폴더와 거의 흡사하게 인식을 한다.
즉, 링크 폴더의 경로를 가지고 하위로 갈 수 있다...)

처음 탈옥 후 시디아 설치시 File System 어쩌구 하면서 잠깐 작업하는게 있을 것이다. 
이때 위의 작업을 시디아가 해주는 것으로 보인다.


나의 경우엔 그 작업 중에 시디아가 죽어버렸다.. 딴짓 하고 있어서 정확히 왜 죽은지는 모르겠지만.....
중간에 파일을 /var/stash 로 이동하기만 하다가 링크를 만들어 두지 않은 상태에서 죽어버렸으니 당연히 다음 리스프링 부터 앱이 모두 사라져버렸을 수 밖에...;;;

음악,앱은 물론이고 6000여장의 사진도 이미 동기화 한 터라 최대한 살리기 위해 별짓을 다해봤지만.....
답이 없다..ㅠㅠㅠ

외부에서 앱을 넣으면 실행화일의 권한이 644로 세팅되어서 권한 설정이 필요하게 된다. 이게 별루라면 옮겨진 시디아만이라도 링크 해놓으면 이후 작업을 할 수 있을 것이다.
즉 권한 설정 혹은 심볼릭 링크를 만들 수만 있으면 해결되는데 둘다 터미널, 혹은 ssh 접근이 가능해야 할 수 있는 작업이고 아이폰 내의 파일 이동은 iPhone Explorer, iFunbox, DiskAid 등 많이 시도해 봤지만 안되더라..ㅠ
쉘 스크립트를 실행할 방법은 떠오르지도 않고....

openssh 설치 도 시도해봤지만, 수동으로 파일을 하나하나 옮겼을 때는 소유주/권한 문제가 있는지
ssh_exchange_identification: Connection closed by remote host 란 오류를 내면서 연결이 되지 않는다..ㅠㅠ(물론 openssl 도 같이 설치 시도 했다)
Cydia 의 Autoinstall 은 작동하길 바라면서 시도해봤는데 이것도 안되더라..ㅠㅠ(이게 작동하지 않는 이유는 모르겠다..ㅠ)
될리 없겠지만, 탈옥 작업도 한번 더 시도해봤다. 시디아를 설치해 주길 바라면서..ㅠㅠ -> 역시나 안됨..ㅠㅠ

반탈인 관계로 이 삽질 하면서 DFU 만 2~30번은 들어간 것 같다..ㅠㅠ
커스텀 번들로 터미널만 넣어주는 작업을 할 수 있을까 생각해 봤는데 커스텀 번들 업데이트가 가능한지도 모르겠고 가능한지도 모르겠다...ㅠ

탈옥툴들은 오픈 소스인 경우가 많으므로(redsn0w 는 모르겠다.. greenpoison 은 소스 공개 해주더라..) 탈옥 작업시 다른 프로그램을 설치하면 되지 않을까? 란 생각을 한 순간
일이 커지기 전에 그냥 DFU 모드 진입 후 복원 버튼을 눌렀다...(;;;)

복원 후 재설치가 생각했던 것 만큼 오래 걸리지 않더라.. 


쨋든, 혹시나 후에 기본어플이 사라지는 일이 생기고, 터미널, 시디아, openssh 아무 것도 없는 상황에서
복원할 시간이 없다고/하기 귀찮다고 어떻게든 고치려는 마음을 먹었다면.. 어서 그 마음을 접기를.....
혹시나 다른 생각이 있다면 시도 해보는걸 말리진 않겠지만..ㅋㅋㅋ




ps1, 탈옥팀들은 afc2add 를 기본 설치 하지 말고 apt7(apt-get), openssh 혹은 Terminal 을 설치해주거나, 선택지를 제공해 줬으면 좋겠다... 그게 설치되어 있었다면 훨씬 쉽게 일이 풀렸을 텐데!!

ps2, 이제와서 생각해보니 데몬을 하나 만들어서 해주면 어떨까? 란 생각도 든다. Cydia AutoInstall 데몬도 딱히 작동하진 않았지만, 쨋든 SSH데몬이 작동을 시작하긴 했잖아? 혹시나 다음에 이런일이 있는 사람은 복원하기 싫고 시간이 많다면 시도해보길... 
Posted by iolate
LibActivator Setting Saving Path :
/var/mobile/Library/Caches/libactivator.plist
(휘바골드 님 수정 요청 감사합니다~ ㅎㅎ)

복원 후 Activator 설정을 다시 해주기 귀찮다면 저 파일을 백업해 놓자.
권한은 mobile/mobile 666 
Posted by iolate

최근에 달린 댓글

최근에 받은 트랙백

글 보관함