A powerful cross-platform tool for modifying, signing, and tweaking iOS .ipa files.
π¦ Download
Β·
Report Bug
Β·
Request Feature
- Inject tweaks β add
.dyliband.debtweaks from thetweaks/folder, with automatic CydiaSubstrate bundling (via ElleKit) and@rpathpatching - Remove injected tweaks β delete tweaks from
Frameworks/and strip their load commands viazsign - Export tweaks β extract existing
.dyliband.frameworktweaks from an IPA to thetweaks_extracted/folder - Code signing β sign iPAs using
zsignwith auto-detected certificates - Interactive mode β run without arguments for a guided menu-driven experience
- Cross-platform β works on Windows, macOS, and Linux
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)
- Python 3.10+
git clone --depth=1 https://github.com/SHAJON-404/iPA-Edit.git
cd iPA-Edit- Place your
.p12certificate and.mobileprovisionprofile in thecertificate/folder. - The matching
zsignbinary for your OS is detected automatically from thezsign/directory.
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.
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| iPA signing | β | β | β |
| Tweak injection | β | β | β |
| Tweak removal | β | β | β |
| Tweak export | β | β | β |
Simply run with no arguments:
python ipa-edit.pyYou'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
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 |
# 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 -dPlace .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
.debarchives and locatesMobileSubstratedynamic libraries. - Auto-Substrate Bundling: If any tweak requires
CydiaSubstrate,CydiaSubstrate.frameworkfromellekit.debis 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.
Select option 2 (or use -rm-tw). The tool will:
- Scan the IPA's
Frameworks/folder and list all injected.dyliband.frameworkfiles. - Remove selected files from the archive.
- Use
zsignto strip the correspondingLC_LOAD_WEAK_DYLIBload commands from the main binary. - Optionally re-sign the output with your certificate.
When signing, certificates and the signing tool are resolved automatically:
zsign β checked in order:
- Bundled binary from
zsign/{windows,mac,linux}/ zsignon systemPATH- Manual prompt as fallback
Certificate β checked in order:
certificate/folder (.p12+.mobileprovision)- Manual prompt as fallback
This project is licensed under the GPLv3 License.
- Original project by binnichtaktiv
- Rewritten and maintained by SHAJON-404