아이폰 탈옥이 저작권 위반인지 여부에 대해서 논문을 준비하고 있습니다.
그런데 정확하게 어떠한 원리로 탈옥이 되는지 나와있는 기술적으로 자세한
자료를 구하지 못했습니다.
혹시 탈옥이 어떠한 과정을 거쳐서 탈옥이 되는지에 대한 참고할 만한 자료나
원리에 대해서 자세하게 알 수 있는 사이트가 있을까요?
많은 분들의 관심 부탁드리겠습니다. ^^
아이폰 탈옥이 저작권 위반인지 여부에 대해서 논문을 준비하고 있습니다.
그런데 정확하게 어떠한 원리로 탈옥이 되는지 나와있는 기술적으로 자세한
자료를 구하지 못했습니다.
혹시 탈옥이 어떠한 과정을 거쳐서 탈옥이 되는지에 대한 참고할 만한 자료나
원리에 대해서 자세하게 알 수 있는 사이트가 있을까요?
많은 분들의 관심 부탁드리겠습니다. ^^
http://theiphonewiki.com/wiki/index.php?title=Spirit 이번해킹툴에관한 설명이군요..
이걸 누구나 할 수 있게 간단하게 한겁니다.
해커들이 아이폰 OS의 취약점을 분석해 내고 그 취약점을 이용하여 커널 접근권을 얻어내고, 고된 연구끝에 유저 레벨에서 접근가능한 통로를 열었습니다. 제일먼저 만든것은 darwin shell을 쓸수 있게끔하는 telnet/ssh/tftp 데몬이었습니다. 그 뒤로 개발툴과 기타 커맨드 툴의 darwin커널용으로의 코딩/포팅 컴파일이 완성됩니다. 그리고 뒤이어 그 유명한 cydia라는 최초의 GUI 인스톨러 앱이 개발되지요.
현대의? 탈옥툴(스피릿,블랙레인 등을 지칭)들은 기본적으로 어떤 행위를 하느냐? 우선 아이폰 OS를 뚫고 접근권한을 얻은 후 필수요소 설치(셸접근,APT데비안패키지 툴, 기타 기초적 명령어 파일등)를 설치합니다. 그리고 나서 최종적으로 시디아를 심습니다. 블랙레인의 경우, 기본적으로 시디아는 설치하지 않고, 설치후에 별도로 시디아/rock/icy를 설치가능하도록 되어 있습니다. 스피릿의 경우는 그냥 한번에 시디아만 설치되도록 되어 있습니다. 시디아/rock/icy같은 인스톨러는 블랙레인 툴 자체에 포함되어 있는 것이며 스피릿 툴에는 시디아만 포함되어 있는 것입니다.
아무튼 이렇게 설치된 cydia를 실행하면 cydia서버에서 cydia버전을 체크해 구버전이면 본체 버전을 우선적으로 업뎃합니다. 그리고 나면 유저가 마음껏 사용할수 있게 됩니다.
보통은 커널을 리버스해서 바이너리의 코드사인 확인부분을 어느정도 완화시킴니다(테스트용 코드사인도 동작하도록요) 그 과정에 커널의 코드사인이 깨지므로 iBoot(iBSS)도 같이 수정합니다. (수정된 커널을 통과시키기 위하여)
하지만 아이팟 터치 2세대부터는 iBSS도 같이 코드사인을 하고 키를 첨부하여 부팅중 대조하기 때문에 다른 방법을 생각해 내는데 키부분을 Overflow시키게합니다(메모리 주소중 24k-25k부분)
그리고 터치 3세대 부터는 저 Overflow도 막게 되는데 그래서 Spirit은 펌자체의 버그를 이용하여 서명되지 않는 코드를 실행합니다. (Spirit은 저거 정도 밖에 몰라서^^;;)
무튼 전부 저렇게 해서 서명되지 않는 코드를 ramdisk에 담아서 iPhone OS 자체의 업데이트를 이용하여 번들(Cydia)을 설치합니다.