GitHub Trending인프라 · 데브옵스오늘의 주요

LiveContainer/LiveContainer

설치 없이 iOS 앱을 실행하는 런처 LiveContainer

원제 LiveContainer/LiveContainer

스타 13,221당일 +159Swift
Key Point

iOS 개발자와 앱 사용자가 개발자 계정 한 개로 무제한 앱을 설치·테스트할 수 있는 새로운 방식의 런처이며, 기술적으로 실행 파일 패칭과 dyld 후킹을 통해 프로세스 격리를 우회하는 점이 주목할 만하다.

핵심 요약

  • LiveContainer는 iOS 앱을 실제로 설치하지 않고 런처 앱 내부에서 실행하는 앱 런처로, iOS 15 이상에서 한 개의 앱과 앱 ID만으로 무제한의 앱을 설치할 수 있다.
  • 개발자 계정의 기본 제한(무료 계정 3개 앱, 유료 10개 앱)이 적용되지 않으며, 같은 앱의 여러 버전을 다른 데이터 컨테이너로 설치 가능하다.
  • iOS 26 미만에서 JIT가 활성화되면 코드 서명을 완전히 우회하고, 그렇지 않으면 LiveContainer와 동일한 인증서로 앱에 서명한다.
  • IPA 파일을 선택해 앱을 설치하며, 홈 화면에 추가, 멀티태스킹 기능, 트윅 로드, 여러 컨테이너 지원 등을 제공한다.
  • iOS 16 이상에서 멀티태스킹을 지원하고, 아이패드에서는 네이티브 윈도우 모드로 각 앱을 별도 시스템 윈도우에서 실행 가능하며 Picture-in-Picture도 지원한다.
  • 게스트 앱의 __PAGEZERO 세그먼트를 패치하고, dyld 함수를 후킹하고, NSBundle.mainBundle을 게스트 앱의 번들로 오버라이드해 호스트 런처 내에서 작동하게 만든다.
  • JIT를 통한 라이브러리 유효성 검사 우회와 TweakLoader를 통한 트윅 로드를 지원하며, 128개의 키체인 액세스 그룹으로 같은 앱의 서로 다른 컨테이너를 반분리한다.
  • 게스트 앱 권한은 전역으로 적용되고, 게스트 앱 컨테이너는 샌드박싱되지 않아 한 게스트 앱이 다른 게스트 앱의 데이터에 접근 가능하며, 앱 익스텐션은 지원하지 않는다.
  • 원격 푸시 알림과 커스텀 URL 스킴 조회는 작동하지 않으며, 아이폰 미러링 사용 시 물리적 키보드 입력이 제대로 작동하지 않는 문제가 있다.
  • GNU Affero General Public License v3.0으로 라이선스되었으며, 다국어 지원을 위해 Crowdin 프로젝트를 운영 중이다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗