Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ipaforge — 의존성 없는 Python CLI로, iOS .ipa 아카이브를 풀고, 검사하고, 편집하고, 다시 빌드하며, Mach-O 바이너리와 서명 번들을 보존하면서 plist와 문자열을 XML로 변환합니다. | Kitploit
도구/GitHubGitHub/vighnesh91/ipaforge
Static AnalysisiOS SecurityCode AnalysisMobile App PentestingReverse EngineeringPenetration TestingMobile SecurityUtilities & FrameworksBinary Analysis
GitHubvighnesh91/ipaforge

ipaforge

의존성 없는 Python CLI로, iOS .ipa 아카이브를 풀고, 검사하고, 편집하고, 다시 빌드하며, Mach-O 바이너리와 서명 번들을 보존하면서 plist와 문자열을 XML로 변환합니다.

42일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
공유

IPAForge

IPAForge는 iOS .ipa 아카이브를 언팩, 검사, 편집, 재빌드하기 위한 의존성 없는 Python 명령줄 도구입니다.

전체 아카이브를 추출하고, 편집 가능한 Apple plist 및 로컬라이제이션 형식을 읽을 수 있는 XML로 변환하며, 불투명 및 바이너리 콘텐츠를 바이트 단위로 보존하고, 모든 변환을 ipaforge.yml에 기록하여 프레임워크를 충실히 재빌드할 수 있도록 합니다.

책임감 있게 사용하세요: IPAForge는 상호운용성, 보안 연구, 정당한 애플리케이션 분석을 위해 만들어졌습니다. 관련 법률, 라이선스, 서비스 약관을 준수하세요.

기능

  • 표준 iOS .ipa 아카이브를 디코딩하고 재빌드합니다.
  • 아카이브 콘텐츠의 100%를 추출하며, 아무것도 조용히 건너뛰거나 누락되지 않습니다.
  • 파일 확장자에 관계없이 바이너리 plist를 읽을 수 있는 XML로 변환합니다.
  • 레거시 텍스트 .strings 파일을 편집 가능한 XML로 변환합니다.
  • 빌드 중 변환된 파일을 원래의 네이티브 형식으로 재인코딩합니다.
  • Mach-O 바이너리와 .car, .nib, .mom 같은 Apple 독점 형식을 보존합니다.
  • 내장된 entitlements와 프로비저닝 프로파일 정보를 읽을 수 있는 참조로 추출합니다.
  • ipaforge.yml에 파일별 분류 및 변환 메타데이터를 생성합니다.
  • 외부 서명 유틸리티가 필요 없는 내장 ad-hoc 서명.
  • PKCS#12 인증서와 프로비저닝 프로파일을 사용한 선택적 실제 인증서 서명.
  • 표준 라이브러리만 사용하며, 서드파티 Python 패키지가 필요하지 않습니다.
  • 요구 사항

    • Python 3.6 이상을 권장합니다.
    • Python 2.7 및 Python 3.2+는 스크립트의 호환성 레이어에서 지원됩니다.
    • Payload/<AppName>.app 번들을 포함하는 유효한 .ipa 아카이브.

    설치

    IPAForge는 단일 Python 파일로 직접 사용할 수 있습니다:

    root@kitploit:~
    python3 ipaforge.py --help
    

    ipaforge 명령을 PATH에 설치하려면:

    root@kitploit:~
    python3 ipaforge.py --install
    

    설치하지 않고 번들된 배포 파일을 추출하려면:

    root@kitploit:~
    python3 ipaforge.py --extract
    

    빠른 시작

    IPA 디코딩

    root@kitploit:~
    ipaforge -d MyApp.ipa
    

    현재 작업 디렉터리에 프레임워크 디렉터리를 생성하며, 일반적으로 ./MyApp/입니다.

    디코딩된 파일 편집

    생성된 프레임워크 내부의 읽을 수 있는 XML 파일을 수정합니다. 원본 아카이브 데이터와 참조는 original/에 보관되며, 변환된 파일은 ipaforge.yml에 추적됩니다.

    새 IPA 빌드

    root@kitploit:~
    ipaforge -b MyApp
    

    기본 출력은 현재 작업 디렉터리의 ./MyApp-signed.ipa입니다.

    명시적 경로 사용

    root@kitploit:~
    ipaforge -d MyApp.ipa decoded-framework
    ipaforge -b decoded-framework rebuilt.ipa
    

    명령줄 레퍼런스

    root@kitploit:~
    ipaforge -d, --decode INPUT [OUTPUT]
    ipaforge -b, --build  INPUT [OUTPUT]
    
    옵션설명
    -d, --decodeIPA를 편집 가능한 프레임워크 디렉터리로 디코딩합니다.
    -b, --build디코딩된 프레임워크 디렉터리에서 IPA를 빌드합니다.
    -f, --force기존 출력 디렉터리나 파일을 덮어씁니다.
    --no-meta디코딩 중 ipaforge.yml을 작성하지 않습니다.
    --keep-binary디코딩 중 모든 파일을 바이너리로 유지하고 XML 변환을 비활성화합니다.
    -c 0-9, --compression-level 0-9ZIP 압축 수준을 설정합니다. 기본값: 9.
    --no-sign의도적으로 서명되지 않은 아카이브를 빌드합니다.
    --entitlements FILE빌드된 서명에 entitlements를 포함합니다.
    --p12 FILE실제 PKCS#12 개발자 인증서로 서명합니다.
    --p12-password PASSPKCS#12 인증서의 비밀번호입니다.
    --provision FILE--p12와 함께 프로비저닝 프로파일을 포함하고 사용합니다.
    -v, --verbose디버그 로깅을 활성화합니다.
    -q, --quiet오류만 출력합니다.
    --versionIPAForge 버전을 표시합니다.
    -h, --help도움말을 표시합니다.

    Windows에서는 모드를 자동으로 추론할 수 있습니다: .ipa 입력은 디코딩되고 프레임워크 디렉터리는 빌드됩니다.

    서명

    빌드 모드는 기본적으로 내장 ad-hoc 서명자로 번들에 서명합니다. Mach-O 바이너리에 대한 CodeDirectory 데이터와 애플리케이션 번들에 대한 새로운 _CodeSignature/CodeResources 파일을 생성합니다.

    일반 iOS 기기에 설치하려면 실제 개발자 인증서와 호환되는 프로비저닝 프로파일을 사용하세요:

    root@kitploit:~
    ipaforge -b MyApp \
      --p12 developer.p12 \
      --p12-password 'your-password' \
      --provision embedded.mobileprovision
    

    사용자 정의 entitlements를 포함하려면:

    root@kitploit:~
    ipaforge -b MyApp --entitlements entitlements.plist
    

    의도적으로 서명되지 않은 아카이브를 생성하려면:

    root@kitploit:~
    ipaforge -b MyApp --no-sign
    

    서명되지 않은 아카이브는 일반적으로 iOS에서 설치할 수 없습니다.

    디코딩 출력 구조

    디코딩된 프레임워크는 일반적으로 다음을 포함합니다:

    root@kitploit:~
    MyApp/
    ├── Payload/
    │   └── MyApp.app/
    ├── original/       # reference copies of signatures, profiles, and entitlements
    ├── readable/       # human-readable summaries for opaque formats and binaries
    └── ipaforge.yml    # file classifications and conversion metadata
    

    original/ 디렉터리와 ipaforge.yml은 재빌드된 IPA에 패키징되지 않습니다.

    파일 처리

    IPAForge는 추출된 파일을 다음을 포함한 범주로 분류합니다:

    • native-bplist — XML로 변환되고 바이너리 plist로 재빌드되는 바이너리 속성 목록.
    • legacy-strings — XML로 변환되고 UTF-16 텍스트로 재빌드되는 클래식 .strings 파일.
    • xml-plist — 텍스트로 보존되는 기존 XML plist 파일.
    • opaque-compiled — 바이트 단위로 보존되는 독점 컴파일된 Apple 형식.
    • native-binary — 바이트 단위로 보존되는 Mach-O 실행 파일 및 라이브러리.
    • other-binary — 바이트 단위로 보존되는 이미지, 오디오, DER 데이터 및 기타 리소스.

    종료 코드

    코드의미
    0성공적인 작업.
    1잘못된 아카이브나 서명 실패와 같은 런타임 오류.
    2명령줄 사용 오류.
    141파이프 소비자에 의해 표준 출력이 조기에 닫힘.

    보안 참고 사항

    IPAForge는 신뢰할 수 없는 아카이브 콘텐츠를 처리합니다. 이 도구는 개별 아카이브 멤버와 총 비압축 아카이브 크기에 방어적 제한을 적용하지만, 알 수 없는 파일은 격리된 환경에서 검사해야 합니다.

    분석하고 서명할 법적 권리가 없는 애플리케이션은 배포하거나 설치하지 마세요.

    라이선스

    GitHub에 게시하기 전에 프로젝트의 라이선스 텍스트를 여기에 추가하세요. 라이선스가 포함되지 않은 경우, GitHub 사용자는 코드를 사용, 수정 또는 재배포할 권한을 자동으로 부여받지 않습니다.

    기여

    이슈와 풀 리퀘스트를 환영합니다. 다음을 포함해 주세요:

    • Python 버전 및 운영 체제.
    • IPAForge 버전.
    • 실행한 명령.
    • 민감한 정보를 제거한 관련 로그 출력.
    • 가능한 경우 최소 재현 아카이브 또는 설명.

    버전

    이 README는 IPAForge 1.24.0을 설명합니다.

    도구 다운로드