본문 바로가기
아이폰_Tweak

개발한 아이폰 트윅을 cydia에서 배포하기

by dladbru 2019. 6. 24.

개요

안드로이드에서는 root 권한을 얻을 수 있게 하는 행위를 루팅이라하며, 아이폰에서는 탈옥이라한다.

아이폰에서 cydia를 사용하는 것은 이러한 탈옥(jailbreak)이 당연히 필요하다. 앱스토어만 허락하는 아이폰에서 새로운 스토어를 사용한다는 의미니까 말이다.

아이폰 버전이 올라가면서 탈옥을 위한 어려움도 커졌다. 하지만 자신의 스마트폰을 꾸미거나 원하는 동작을 하게 하기위해서는 이러한 고통을 감내하는 사람들이 있다.

최근 탈옥을 위해 감내하는 고통

1. 은행앱 사용불가.

  • 나는 해당되지 않는다. 현재 토스, 국민은행, 페이북, 페이코, 우리은행, 신한은행등 모두 패치하여 잘 사용한다. IOS 12에서는 현재 분석하지 못하고 있어서 11.4.1로 분석하고 있다.

2. 반탈옥으로 인해 급할 때 스마트폰을 꺼트린 경우

  • 반탈옥은 스마트폰을 재부팅하게 될 경우 새로 탈옥을 진행해줘야하는데 3~5분정도 소요된다. 급할 때 5분동안 폰을 사용하지 못한다는 것은 슬프고도 불편한 일이다.

내가 사용하는 트윅 및 바이너리

  1. 유튜브 광고 제거 트윅
  2. 통화가 연결되면 진동을 울리는 트윅 (전화받을 때 까지 귀에 갖다는게 귀찮다.)
  3. 통화녹음 트윅(통화를 녹음시키고 구글드라이브로 연동해두면 편하더라.)
  4. 앱을 분석하고 패치하기 위한 트윅 (lldb, ldid, tcpdump, python 등)
  5. 나머지는 자잘자잘하게 사용하는 것..

각설이 길었다. 우리는 직접만든 트윅을 cydia에서 받을 수 있는 과정에 대해서 알아본다. 그것이다.

내가 추가해놓은 Repo들

CYDIA는 탈옥한 사용자들을 위한 앱스토어, 미리 추가해놓은 Repo로부터 앱들을 검색하고 다운로드 할 수 있다.

보이는 리스트에서 "NHN"은 내가 만든 Repo이므로 추가하셔도 좋다. 다만 올린게 아직은 없다.(미래지향형 인간임 난) 

 

 

 

cydia-repo-source 를 받자.

 

미리 도메인과 웹 서버는 준비해놓았다고 볼 생각이다. 도메인은 없어도 되지만 다른 사용자에게 배포를 목적으로 트윅 개발을 할 경우에는 구매하는것을 추천한다.

 

그리고 템플릿은 아래 Github에서 받을 수 있다.  사진에서 볼 수 있듯이 나도 "Reposi3" 이란 닉네임을 쓰시는 외국 개발자님의 Repo를 참고했다.

 

 

Repo를 생성한지 얼마되지 않은 나는 직접 개발한 유일한 트윅인 "Super Recorder IOS12 크랙"을 업로드 하기로했다. 이 트윅과 관련된 링크는 아래에서 확인하실 수 있다.

BLOG 링크: https://empier.tistory.com/356

 

[탈옥 트윅] Super Recorder 크랙 for 아이폰 통화녹음

Repo : http://cydia.vuln.kr/ Name : Super Recorder X+ (IOS12) Crack Firmware : IOS12 Defendencies : SuperRecorder X+ 3.05-2(이것도 repo에 올려두었습니다.) 첫글이어서 써보자면, 탈옥이란 자체가 커널..

empier.tistory.com

 

 

debs 폴더에 위치한 트윅 설치파일들

개발된 트윅 파일을 "debs" 폴더에 저장시킨다. "org.hacx.superrecorderxplus-3.05-2.deb"는 버전이 바뀔 경우 동작을 하지 않을 가능성이 높기때문에 따로 보존차 저장했다.  

 

각각에 대해서 설명하기에는 어렵다..

최상위 경로에 위치한 "Packages" 파일에 같은 형식으로 작성해넣는다. cydia는 위 파일을 참고해 검색도 해주며 화면상에 나타내준다.  "org.hacx.superrecorderxplus" 의 경우에는 개발자의 repo에서 찾은 내용으로 변경없이 등록해주었으며 크랙파일의 경우에는 항목 하나하나 수정해주었다.

 

사실상 다른 Repo의 경우에도 이렇게 작성되어 있어 deb파일을 얻어 분석을 시작하는 과정은 어렵지 않다. 또한 트윅들은 앱스토어에 올라와있는 앱들과는 다르게 암호화도 되어있지않다고 볼 수 있다. (모르지. 내가모르는 경우가 있을 수 도)   

 

마지막으로 이렇게 작성된 "Packages"는 bzip2 명령어를 이용해 "Packages.bz2" 로 만들어주어야한다. 그러므로 Repo의 URL로부터 Packages에 대한 정보를 알고 싶다면, "[Repo주소]/Packages.bz2" 또는 확장자를 빼고 검색해보자.

 

 

depictions 폴더 구조

Packages에 작성된 내용에 따르면 여기에 있는 index.html을 이용해 "kr.hack.superrecorderxcrack" 폴더에 접근함을 알 수 있는데, 다른 파일은 신경쓰지않아도 되며 "kr.hack.superrecorderxcrack" 을 들어가보겠다.

 

 

생각보다 심플, changelog.xml, info.xml 두가지만 있다.

 

개 별거 없네.

9번의 업데이트는 make를 무의식에 계속 타이핑해서다. 그런데 changelog에는 그렇게 쓰기엔 불쌍하지 않은가. 꾸준히 업데이트를 진행하는 트윅을 만들고 싶다면 참고해서 수정하자. 

 

info.xml

이 부분은 좀 신경써주는게 좋다. 트윅에 대한 설명도 작성할 수 있으며, 최소 IOS버전, 최대 IOS버전을 명시할 수도 있고, 필요한 다른 파일을 지정할 수도 있다. 나의 경우에는 IOS 12만 지원하므로 <miniOS>12.x</miniOS> 라고 입력해주었다.  이제 다른 IOS는 설치를 진행하지 못하게된다.

 

이제 다른사람이 우리의 Repo를 추가하고 검색해서 다운로드 할 수 있게 된다. 이 외에도 더 꾸미고 싶다면, CydiaIcon.png 및 index.html을 꾸미는 방법도 있을터이다.  난 미적감각이 없으므로 Pull Request도 기대하겠다.

 

  

 

글이 용두사미로 끝난 것 같은 감이 있지만, 이것만 보고도 충분히 Repo를 만들 수 있으니 난 만족하련다 ㅎㅎ.

끗.

반응형

댓글