Skip to content

SHAJON-404/iPA-Edit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

iPA Edit

A powerful cross-platform tool for modifying, signing, and tweaking iOS .ipa files.

Version Python License Platform

πŸ“¦ Download Β· Report Bug Β· Request Feature


✨ Features

  • Inject tweaks β€” add .dylib and .deb tweaks from the tweaks/ folder, with automatic CydiaSubstrate bundling (via ElleKit) and @rpath patching
  • Remove injected tweaks β€” delete tweaks from Frameworks/ and strip their load commands via zsign
  • Export tweaks β€” extract existing .dylib and .framework tweaks from an IPA to the tweaks_extracted/ folder
  • Code signing β€” sign iPAs using zsign with auto-detected certificates
  • Interactive mode β€” run without arguments for a guided menu-driven experience
  • Cross-platform β€” works on Windows, macOS, and Linux

πŸ“ Project Structure

iPA-Edit/
β”œβ”€β”€ ipa-edit.py              # entry point (~55 lines)
β”œβ”€β”€ modules/                 # core logic package
β”‚   β”œβ”€β”€ __constants.py       # shared colors & style
β”‚   β”œβ”€β”€ __deb_extractor.py   # .deb (ar) archive extractor
β”‚   β”œβ”€β”€ __macho_utils.py     # Mach-O binary patching
β”‚   β”œβ”€β”€ __ipa_editor.py      # IPAEditor class
β”‚   β”œβ”€β”€ __tweak_manager.py   # tweak inject / remove
β”‚   └── __menu.py            # interactive CLI menus
β”œβ”€β”€ certificate/             # place signing certificates here
β”‚   β”œβ”€β”€ *.p12
β”‚   └── *.mobileprovision
β”œβ”€β”€ tweaks/                  # place .dylib or .deb tweaks here
β”œβ”€β”€ tweaks_extracted/        # exported tweaks land here (auto-created)
β”œβ”€β”€ zsign/                   # bundled zsign binaries (auto-detected)
β”‚   β”œβ”€β”€ windows/zsign.exe
β”‚   β”œβ”€β”€ mac/zsign
β”‚   └── linux/zsign
β”œβ”€β”€ Signed/                  # signed output (auto-created)
└── Unsigned/                # unsigned output (auto-created)

πŸš€ Getting Started

Prerequisites

  • Python 3.10+

Installation

git clone --depth=1 https://github.com/SHAJON-404/iPA-Edit.git
cd iPA-Edit

Signing Setup (optional)

  1. Place your .p12 certificate and .mobileprovision profile in the certificate/ folder.
  2. The matching zsign binary for your OS is detected automatically from the zsign/ directory.

Tweak Setup

Place any .dylib or .deb tweak files in the tweaks/ folder. They will appear in the numbered list when using option 2 in the menu.

πŸ–₯️ Platform Support

Feature Windows macOS Linux
iPA signing βœ… βœ… βœ…
Tweak injection βœ… βœ… βœ…
Tweak removal βœ… βœ… βœ…
Tweak export βœ… βœ… βœ…

πŸ“– Usage

Interactive Mode

Simply run with no arguments:

python ipa-edit.py

You'll see a menu:

--------------------------------------------------------------------------------
                    iPA Edit - By S. SHAJON
--------------------------------------------------------------------------------
1. Inject tweaks
2. Remove tweaks
3. Export tweaks from iPA
4. Sign IPA with certificate
5. Exit

Command-Line Mode

python ipa-edit.py -i <input.ipa> -o <output.ipa> [options]
Flag Description
-i Input .ipa file
-o Output path or filename
-tw Inject tweaks from tweaks/ folder
-rm-tw Remove tweaks by name (comma-separated)
-d / --export-tweaks Export .dylib / .framework tweaks

Examples

# Inject tweaks (interactive selection)
python ipa-edit.py -i app.ipa -tw

# Remove specific tweaks by name
python ipa-edit.py -i app.ipa -rm-tw "TweakName.dylib,OtherTweak"

# Export existing tweaks
python ipa-edit.py -i app.ipa -d

πŸ’‰ Tweak Injection

Place .dylib or .deb files in the tweaks/ folder, then select option 2 (or use -tw):

[*] Available tweaks:
  1: AboutME.dylib  (518 KB)
  2: blatantsPatch.dylib  (103 KB)
  3: some_tweak.deb  (1.2 MB)

[?] use , for multiple | 'all' for every tweak | 'exit' to cancel
[?] Tweak number(s) to inject: 1,2,3

Advanced Injection System:

  • .deb Support: Automatically extracts .deb archives and locates MobileSubstrate dynamic libraries.
  • Auto-Substrate Bundling: If any tweak requires CydiaSubstrate, CydiaSubstrate.framework from ellekit.deb is automatically bundled into the app.
  • Path Patching: Fixes hardcoded jailbreak paths (e.g. /Library/Frameworks/...) to standard @rpath/ iOS paths before injection, preventing AMFI/sandbox crashes on jailed devices.

πŸ”§ Tweak Removal

Select option 2 (or use -rm-tw). The tool will:

  1. Scan the IPA's Frameworks/ folder and list all injected .dylib and .framework files.
  2. Remove selected files from the archive.
  3. Use zsign to strip the corresponding LC_LOAD_WEAK_DYLIB load commands from the main binary.
  4. Optionally re-sign the output with your certificate.

πŸ” Certificate & Zsign Auto-Detection

When signing, certificates and the signing tool are resolved automatically:

zsign β€” checked in order:

  1. Bundled binary from zsign/{windows,mac,linux}/
  2. zsign on system PATH
  3. Manual prompt as fallback

Certificate β€” checked in order:

  1. certificate/ folder (.p12 + .mobileprovision)
  2. Manual prompt as fallback

πŸ“ License

This project is licensed under the GPLv3 License.

πŸ™ Credits


Issues Β· Contact

Stargazers over time

About

A powerful cross-platform tool for modifying, signing, and converting iOS .ipa files.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages